home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / gnu / recode.lha / recode-3.2.4 / merged.c < prev    next >
C/C++ Source or Header  |  1992-09-25  |  73KB  |  2,515 lines

  1. /* A lexical scanner generated by flex */
  2.  
  3. /* scanner skeleton version:
  4.  * $Header: /usr0/tmp/flex-2.3.7/RCS/flex.skel 1.1 1992/07/30 00:15:54 pinard Exp pinard $
  5.  */
  6.  
  7. #define FLEX_SCANNER
  8.  
  9. #include <stdio.h>
  10.  
  11.  
  12. /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
  13. #ifdef c_plusplus
  14. #ifndef __cplusplus
  15. #define __cplusplus
  16. #endif
  17. #endif
  18.  
  19.  
  20. #ifdef __cplusplus
  21.  
  22. #include <stdlib.h>
  23. #include <osfcn.h>
  24.  
  25. /* use prototypes in function declarations */
  26. #define YY_USE_PROTOS
  27.  
  28. /* the "const" storage-class-modifier is valid */
  29. #define YY_USE_CONST
  30.  
  31. #else    /* ! __cplusplus */
  32.  
  33. #ifdef __STDC__
  34.  
  35. #ifdef __GNUC__
  36. #include <stddef.h>
  37. void *malloc( size_t );
  38. void free( void* );
  39. #else
  40. #include <stdlib.h>
  41. #endif    /* __GNUC__ */
  42.  
  43. #define YY_USE_PROTOS
  44. #define YY_USE_CONST
  45.  
  46. #endif    /* __STDC__ */
  47. #endif    /* ! __cplusplus */
  48.  
  49.  
  50. #ifdef __TURBOC__
  51. #define YY_USE_CONST
  52. #endif
  53.  
  54.  
  55. #ifndef YY_USE_CONST
  56. #define const
  57. #endif
  58.  
  59.  
  60. #ifdef YY_USE_PROTOS
  61. #define YY_PROTO(proto) proto
  62. #else
  63. #define YY_PROTO(proto) ()
  64. /* we can't get here if it's an ANSI C compiler, or a C++ compiler,
  65.  * so it's got to be a K&R compiler, and therefore there's no standard
  66.  * place from which to include these definitions
  67.  */
  68. char *malloc();
  69. int free();
  70. int read();
  71. #endif
  72.  
  73.  
  74. /* amount of stuff to slurp up with each read */
  75. #ifndef YY_READ_BUF_SIZE
  76. #define YY_READ_BUF_SIZE 8192
  77. #endif
  78.  
  79. /* returned upon end-of-file */
  80. #define YY_END_TOK 0
  81.  
  82. /* copy whatever the last rule matched to the standard output */
  83.  
  84. /* cast to (char *) is because for 8-bit chars, yytext is (unsigned char *) */
  85. /* this used to be an fputs(), but since the string might contain NUL's,
  86.  * we now use fwrite()
  87.  */
  88. #define ECHO (void) fwrite( (char *) yytext, yyleng, 1, yyout )
  89.  
  90. /* gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
  91.  * is returned in "result".
  92.  */
  93. #define YY_INPUT(buf,result,max_size) \
  94.     if ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
  95.         YY_FATAL_ERROR( "read() in flex scanner failed" );
  96. #define YY_NULL 0
  97.  
  98. /* no semi-colon after return; correct usage is to write "yyterminate();" -
  99.  * we don't want an extra ';' after the "return" because that will cause
  100.  * some compilers to complain about unreachable statements.
  101.  */
  102. #define yyterminate() return ( YY_NULL )
  103.  
  104. /* report a fatal error */
  105.  
  106. /* The funky do-while is used to turn this macro definition into
  107.  * a single C statement (which needs a semi-colon terminator).
  108.  * This avoids problems with code like:
  109.  *
  110.  *     if ( something_happens )
  111.  *        YY_FATAL_ERROR( "oops, the something happened" );
  112.  *    else
  113.  *        everything_okay();
  114.  *
  115.  * Prior to using the do-while the compiler would get upset at the
  116.  * "else" because it interpreted the "if" statement as being all
  117.  * done when it reached the ';' after the YY_FATAL_ERROR() call.
  118.  */
  119.  
  120. #define YY_FATAL_ERROR(msg) \
  121.     do \
  122.         { \
  123.         (void) fputs( msg, stderr ); \
  124.         (void) putc( '\n', stderr ); \
  125.         exit( 1 ); \
  126.         } \
  127.     while ( 0 )
  128.  
  129. /* default yywrap function - always treat EOF as an EOF */
  130. #define yywrap() 1
  131.  
  132. /* enter a start condition.  This macro really ought to take a parameter,
  133.  * but we do it the disgusting crufty way forced on us by the ()-less
  134.  * definition of BEGIN
  135.  */
  136. #define BEGIN yy_start = 1 + 2 *
  137.  
  138. /* action number for EOF rule of a given start state */
  139. #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
  140.  
  141. /* special action meaning "start processing a new file" */
  142. #define YY_NEW_FILE \
  143.     do \
  144.         { \
  145.         yy_init_buffer( yy_current_buffer, yyin ); \
  146.         yy_load_buffer_state(); \
  147.         } \
  148.     while ( 0 )
  149.  
  150. /* default declaration of generated scanner - a define so the user can
  151.  * easily add parameters
  152.  */
  153. #define YY_DECL int yylex YY_PROTO(( void )) 
  154.  
  155. /* code executed at the end of each rule */
  156. #define YY_BREAK break;
  157.  
  158. #define YY_END_OF_BUFFER_CHAR 0
  159.  
  160. #ifndef YY_BUF_SIZE
  161. #define YY_BUF_SIZE (YY_READ_BUF_SIZE * 2) /* size of default input buffer */
  162. #endif
  163.  
  164. typedef struct yy_buffer_state *YY_BUFFER_STATE;
  165.  
  166. #define YY_CHAR unsigned char
  167. # line 1 "<stdin>"
  168. #define INITIAL 0
  169. # line 2 "<stdin>"
  170. #include "common.h"
  171. #ifdef USE_FPUTC
  172. #define output(ch) fputc (ch, yyout)
  173. #else
  174. #define output(ch) putc (ch, yyout)
  175. #endif
  176. extern YY_CHAR *yytext;
  177. extern int yyleng;
  178. extern FILE *yyin, *yyout;
  179. # line 13 "<stdin>"
  180. extern int diacritics_only;
  181. #define X_ascii_latex 1
  182. # line 17 "<stdin>"
  183. extern char diaeresis_char;    /* Character for diaeresis */
  184. #define X_ascii_texte 2
  185. # line 21 "<stdin>"
  186. extern int diacritics_only;
  187. #define X_latex_ascii 3
  188. # line 26 "<stdin>"
  189. extern int diacritics_only;
  190. #define X_latex_latin1 4
  191. # line 30 "<stdin>"
  192. extern char diaeresis_char;    /* Character for diaeresis */
  193. void
  194. texte_ascii_diaeresis (void)
  195. {
  196.   int counter;
  197.   for (counter = 0; counter < yyleng; counter++)
  198.     if (yytext[counter+1] == diaeresis_char)
  199.       {
  200.     output ('"');
  201.     output ('\b');
  202.     output (yytext[counter]);
  203.     counter++;
  204.       }
  205.     else
  206.       output (yytext[counter]);
  207. }
  208. #define X_texte_ascii 5
  209. # line 52 "<stdin>"
  210. extern char diaeresis_char;    /* Character for diaeresis */
  211. void
  212. texte_latin1_diaeresis (void)
  213. {
  214.   int counter;
  215.   for (counter = 0; counter < yyleng; counter++)
  216.     if (yytext[counter+1] == diaeresis_char)
  217.       {
  218.     switch (yytext[counter])
  219.       {
  220.         /* The following #ifdef removes the case 'A': this seemingly
  221.            unrelated line triggers a `NULL in input' diagnostic in flex.
  222.            Would you believe?  */
  223. #if 0
  224.       case 'A': output ('\304'); break;
  225. #endif
  226.       case 'E': output ('\313'); break;
  227.       case 'I': output ('\317'); break;
  228.       case 'O': output ('\326'); break;
  229.       case 'U': output ('\334'); break;
  230.       case 'a': output ('\344'); break;
  231.       case 'e': output ('\353'); break;
  232.       case 'i': output ('\357'); break;
  233.       case 'o': output ('\366'); break;
  234.       case 'u': output ('\374'); break;
  235.       case 'y': output ('\377'); break;
  236.       default:  output (yytext[counter]);
  237.       }
  238.     counter++;
  239.       }
  240.     else
  241.       output (yytext[counter]);
  242. }
  243. #define X_texte_latin1 6
  244. # line 87 "<stdin>"
  245.  
  246. /* done after the current pattern has been matched and before the
  247.  * corresponding action - sets up yytext
  248.  */
  249. #define YY_DO_BEFORE_ACTION \
  250.     yytext = yy_bp; \
  251.     yyleng = yy_cp - yy_bp; \
  252.     yy_hold_char = *yy_cp; \
  253.     *yy_cp = '\0'; \
  254.     yy_c_buf_p = yy_cp;
  255.  
  256. #define EOB_ACT_CONTINUE_SCAN 0
  257. #define EOB_ACT_END_OF_FILE 1
  258. #define EOB_ACT_LAST_MATCH 2
  259.  
  260. /* return all but the first 'n' matched characters back to the input stream */
  261. #define yyless(n) \
  262.     do \
  263.         { \
  264.         /* undo effects of setting up yytext */ \
  265.         *yy_cp = yy_hold_char; \
  266.         yy_c_buf_p = yy_cp = yy_bp + n; \
  267.         YY_DO_BEFORE_ACTION; /* set up yytext again */ \
  268.         } \
  269.     while ( 0 )
  270.  
  271. #define unput(c) yyunput( c, yytext )
  272.  
  273.  
  274. struct yy_buffer_state
  275.     {
  276.     FILE *yy_input_file;
  277.  
  278.     YY_CHAR *yy_ch_buf;        /* input buffer */
  279.     YY_CHAR *yy_buf_pos;    /* current position in input buffer */
  280.  
  281.     /* size of input buffer in bytes, not including room for EOB characters */
  282.     int yy_buf_size;    
  283.  
  284.     /* number of characters read into yy_ch_buf, not including EOB characters */
  285.     int yy_n_chars;
  286.  
  287.     int yy_eof_status;        /* whether we've seen an EOF on this buffer */
  288. #define EOF_NOT_SEEN 0
  289.     /* "pending" happens when the EOF has been seen but there's still
  290.      * some text process
  291.      */
  292. #define EOF_PENDING 1
  293. #define EOF_DONE 2
  294.     };
  295.  
  296. static YY_BUFFER_STATE yy_current_buffer;
  297.  
  298. /* we provide macros for accessing buffer states in case in the
  299.  * future we want to put the buffer states in a more general
  300.  * "scanner state"
  301.  */
  302. #define YY_CURRENT_BUFFER yy_current_buffer
  303.  
  304.  
  305. /* yy_hold_char holds the character lost when yytext is formed */
  306. static YY_CHAR yy_hold_char;
  307.  
  308. static int yy_n_chars;        /* number of characters read into yy_ch_buf */
  309.  
  310.  
  311.  
  312. #ifndef YY_USER_ACTION
  313. #define YY_USER_ACTION
  314. #endif
  315.  
  316. #ifndef YY_USER_INIT
  317. #define YY_USER_INIT
  318. #endif
  319.  
  320. extern YY_CHAR *yytext;
  321. extern int yyleng;
  322. extern FILE *yyin, *yyout;
  323.  
  324. YY_CHAR *yytext;
  325. int yyleng;
  326.  
  327. FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
  328.  
  329. #define YY_END_OF_BUFFER 223
  330. typedef int yy_state_type;
  331. static const short int yy_accept[652] =
  332.     {   0,
  333.         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  334.         0,    0,    0,    0,  223,  222,  222,    1,    2,    3,
  335.         4,  222,  222,  222,  222,  222,  222,  222,    8,  222,
  336.         5,  222,    6,    7,  222,  222,  222,  222,  222,  222,
  337.       222,  222,  222,  222,  222,  222,  222,  222,  222,  222,
  338.       222,  222,  222,  222,  222,  222,  222,  222,  222,  222,
  339.       222,  222,  222,  222,  222,  222,  222,  222,  222,  222,
  340.       222,  222,    0,    0,    0,    0,    0,    0,    0,    0,
  341.         0,    0,    0,    0,    0,    0,    0,    0,   25,   26,
  342.        27,   28,   29,    0,    0,   30,   31,   48,   63,   67,
  343.  
  344.        47,    0,   39,   40,   41,   42,    0,    0,   53,    0,
  345.         0,    0,    0,   43,    0,    0,    0,    0,    0,    0,
  346.         0,    0,    0,   44,   45,    0,   51,    0,    0,    0,
  347.         0,    0,    0,    0,    0,    0,    0,  159,    0,  135,
  348.         0,  134,    0,  158,    0,    0,    0,    0,    0,    0,
  349.         0,    0,    0,    0,  161,    0,  163,  162,    0,    0,
  350.       173,  174,  170,    0,  183,  182,    0,    0,  189,  188,
  351.         0,  195,  194,    0,  160,    0,  166,  165,    0,    0,
  352.       179,  180,  176,    0,  186,  185,    0,  192,  191,    0,
  353.       198,  197,    0,    9,   10,   13,   14,   11,   17,   15,
  354.  
  355.        18,   12,   16,   24,   22,   23,   23,   22,   19,   20,
  356.        21,   21,   21,   19,   20,   36,   36,   36,    0,    0,
  357.         0,   72,   80,   84,   90,   95,    0,  102,  110,  124,
  358.       129,  131,    0,   69,   78,   82,   87,   93,   96,    0,
  359.        99,  108,  121,  127,  130,    0,    0,    0,    0,    0,
  360.         0,   70,   79,   83,   88,   94,    0,  100,  109,  122,
  361.       128,    0,   68,   77,   81,   86,   92,    0,   98,  107,
  362.       120,  126,    0,    0,    0,    0,    0,    0,    0,    0,
  363.         0,    0,    0,    0,   71,   85,   89,  101,  119,  123,
  364.         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  365.  
  366.         0,    0,    0,    0,    0,  137,  136,  133,    0,    0,
  367.         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  368.         0,    0,    0,    0,  164,  168,  175,  172,  184,    0,
  369.       190,  196,  200,  167,  169,  181,  178,  187,  193,  199,
  370.       201,   34,    0,    0,    0,   38,   38,    0,    0,    0,
  371.        50,    0,    0,   58,   61,    0,    0,   91,   49,    0,
  372.         0,    0,    0,    0,    0,    0,   75,  105,    0,    0,
  373.         0,    0,    0,    0,  125,    0,  146,    0,    0,    0,
  374.         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  375.         0,    0,    0,    0,  132,    0,  210,    0,    0,    0,
  376.  
  377.         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  378.         0,    0,    0,    0,  171,    0,  177,   34,    0,   35,
  379.         0,    0,   37,    0,    0,    0,    0,   73,   74,    0,
  380.         0,    0,    0,  103,  104,    0,    0,   76,  106,    0,
  381.         0,    0,   97,    0,    0,    0,    0,    0,    0,    0,
  382.         0,    0,  148,    0,    0,  152,    0,    0,    0,    0,
  383.         0,  151,    0,    0,    0,    0,    0,    0,    0,    0,
  384.         0,  212,    0,    0,  216,    0,    0,    0,    0,    0,
  385.       215,   34,   33,    0,  117,  118,  113,  114,  115,  116,
  386.       111,  112,    0,   60,    0,    0,    0,   52,    0,    0,
  387.  
  388.         0,    0,    0,    0,    0,  157,    0,    0,    0,    0,
  389.         0,    0,  154,    0,    0,    0,    0,    0,    0,    0,
  390.         0,  221,    0,    0,    0,    0,    0,    0,  218,    0,
  391.         0,    0,    0,    0,    0,  140,    0,    0,  156,  139,
  392.         0,    0,    0,    0,  150,    0,    0,    0,  155,  204,
  393.         0,    0,  220,  203,    0,    0,    0,    0,  214,    0,
  394.         0,    0,  219,    0,    0,    0,    0,    0,    0,    0,
  395.         0,    0,  147,    0,  143,    0,    0,    0,    0,    0,
  396.         0,  211,    0,  207,    0,    0,    0,    0,    0,    0,
  397.         0,    0,    0,    0,    0,    0,    0,    0,    0,  141,
  398.  
  399.         0,    0,  149,  153,    0,    0,  205,    0,    0,  213,
  400.       217,    0,    0,   32,   46,   65,   64,   66,    0,    0,
  401.         0,    0,    0,    0,  138,  142,  144,  145,  202,  206,
  402.       208,  209,   32,    0,   46,    0,    0,    0,   62,   56,
  403.        57,    0,   32,   46,   59,   55,    0,    0,    0,   54,
  404.         0
  405.     } ;
  406.  
  407. static const YY_CHAR yy_ec[256] =
  408.     {   0,
  409.         1,    1,    1,    1,    1,    1,    1,    2,    3,    4,
  410.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  411.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  412.         1,    5,    6,    7,    8,    9,   10,   11,   12,    1,
  413.         1,    1,    1,   13,   14,    1,   15,    1,   16,   17,
  414.        18,   19,    1,    1,    1,    1,    1,   20,    1,   21,
  415.         1,   22,   23,    1,   24,   25,   26,   27,   28,   27,
  416.        29,   30,   31,   32,   27,   32,   27,   33,   34,   27,
  417.        27,   27,   35,   36,   37,   27,   27,   27,   38,   27,
  418.         1,   39,    1,   40,   41,   42,   43,   44,   45,   46,
  419.  
  420.        47,   48,   49,   50,   51,   32,   52,   53,   54,   55,
  421.        56,   57,   27,   58,   59,   60,   61,   27,   27,   62,
  422.        63,   27,   64,    1,   65,   66,    1,    1,    1,    1,
  423.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  424.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  425.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  426.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  427.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  428.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  429.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  430.  
  431.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  432.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  433.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  434.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  435.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  436.         1,    1,    1,    1,    1
  437.     } ;
  438.  
  439. static const YY_CHAR yy_meta[67] =
  440.     {   0,
  441.         1,    1,    1,    2,    1,    1,    1,    1,    1,    1,
  442.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  443.         3,    3,    1,    4,    5,    5,    5,    4,    5,    5,
  444.         4,    5,    5,    4,    5,    5,    4,    5,    1,    1,
  445.         1,    1,    4,    5,    5,    5,    4,    5,    5,    5,
  446.         4,    5,    5,    5,    5,    4,    5,    5,    5,    5,
  447.         4,    5,    5,    1,    1,    1
  448.     } ;
  449.  
  450. static const short int yy_base[674] =
  451.     {   0,
  452.         0,    0,    0,    0,   45,   56,  931,  930,   32,   47,
  453.        98,    0,  164,    0,  968,  971,  965,  971,  971,  971,
  454.       971,  964,  963,  962,  961,  960,  959,  958,  971,  957,
  455.       971,  956,  971,  971,  955,  954,  953,  952,  951,  224,
  456.       940,  939,  938,  285,  907,  328,  936,   55,  934,  230,
  457.       934,    0,  903,  365,  932,  231,  930,  234,  237,  930,
  458.       238,  241,    7,    0,  899,  242,  927,  294,  295,  303,
  459.       340,    9,  234,    7,   46,  932,  931,    8,  924,  306,
  460.       265,   39,  390,  406,  410,  422,  426,  236,  971,  971,
  461.       971,  971,  971,  893,  248,  971,  971,  971,  971,  971,
  462.  
  463.       971,  445,  971,  971,  971,  971,  486,  871,  971,    8,
  464.       870,  869,  527,  971,  568,   33,  889,  319,  873,  886,
  465.       882,  864,  868,  971,  971,  447,  971,   39,  879,  196,
  466.       181,  869,  881,  868,  261,   32,  860,  971,    0,  971,
  467.       470,  909,   49,  971,  315,  873,  325,  308,  863,  875,
  468.       862,  331,  255,  854,  971,    0,  971,  971,  498,    0,
  469.       903,  971,  971,    0,  971,  971,  318,    0,  971,  971,
  470.         0,  971,  971,    0,  971,    0,  971,  971,  519,    0,
  471.       902,  971,  971,    0,  971,  971,    0,  971,  971,    0,
  472.       971,  971,    0,  971,  971,  971,  971,  971,  971,  971,
  473.  
  474.       971,  971,  971,  971,  971,  971,  971,  971,  971,  971,
  475.       971,  971,  971,  971,  971,  971,  862,  873,  866,  436,
  476.         0,  971,  971,  971,  971,  971,  859,  971,  971,  971,
  477.       971,  971,  252,  971,  971,  971,  971,  971,  971,  858,
  478.       971,  971,  971,  971,  971,  346,  843,  843,  842,  840,
  479.       839,  971,  971,  971,  971,  971,  852,  971,  971,  971,
  480.       971,  863,  971,  971,  971,  971,  971,  850,  971,  971,
  481.       971,  971,  861,  835,  834,  852,  360,  840,  381,  852,
  482.       838,  844,  827,  827,  971,  971,  971,  971,  971,  971,
  483.       429,  846,  830,  833,  838,  831,  842,  833,  832,  831,
  484.  
  485.       825,  386,  263,  837,  827,  971,  971,  866,  353,  436,
  486.       833,  817,  820,  825,  818,  829,  820,  819,  818,  812,
  487.       391,  362,  824,  814,  971,  971,  971,  853,  971,  416,
  488.       971,  971,  971,  971,  971,  971,  852,  971,  971,  971,
  489.       971,   20,  798,  393,  810,  971,  484,  796,  796,  808,
  490.       971,  794,  806,  971,  971,  791,  790,  971,  971,  790,
  491.       802,  788,  800,  785,  784,  796,  971,  971,  787,  781,
  492.       780,  799,  781,  778,  971,  776,  971,  779,  788,  795,
  493.       781,  775,   34,  774,  785,   10,   13,  772,  450,  771,
  494.       788,  787,  778,  785,  971,  452,  971,  766,  775,  782,
  495.  
  496.       768,  762,  405,  761,  772,  454,  480,  759,  491,  758,
  497.       775,  774,  765,  772,  971,  498,  971,  472,  749,  971,
  498.       748,  753,  971,  746,  745,  744,  743,  971,  971,  742,
  499.       741,  740,  739,  971,  971,  744,  745,  971,  971,  437,
  500.       737,  735,  971,  752,  749,  746,  749,  748,  751,  742,
  501.       508,  731,  971,  739,  739,  971,  731,  737,  733,  514,
  502.       728,  971,  727,  694,  687,  686,  670,  673,  663,  520,
  503.       652,  971,  660,  660,  971,  652,  658,  657,  545,  656,
  504.       971,  971,  971,  652,  971,  971,  971,  971,  971,  971,
  505.       971,  971,  651,  971,  688,  687,  692,  971,  553,  639,
  506.  
  507.       650,  556,  561,  647,  648,  971,  649,  652,  562,  651,
  508.       644,  643,  971,  564,  565,  630,  641,  570,  580,  638,
  509.       639,  971,  640,  643,  586,  642,  635,  634,  971,  588,
  510.       639,  638,  476,  661,  220,  971,  632,  617,  971,  971,
  511.       590,  616,  594,  625,  971,  624,  613,  612,  971,  971,
  512.       625,  610,  971,  971,  596,  609,  597,  618,  971,  617,
  513.       606,  605,  971,  606,  605,  599,  598,  597,  406,  602,
  514.       602,  606,  971,  602,  971,  605,  606,  581,  551,  614,
  515.       547,  971,  542,  971,  616,  620,  539,  532,  528,  517,
  516.       492,  483,  481,  484,  484,  528,  521,  510,  471,  971,
  517.  
  518.       623,  624,  971,  971,  626,  628,  971,  630,  631,  971,
  519.       971,  632,  635,  642,  651,  971,  971,  971,  503,  488,
  520.       421,  418,  366,  370,  971,  971,  971,  971,  971,  971,
  521.       971,  971,  654,  334,  655,  333,  297,  290,  971,  971,
  522.       971,  280,  971,  971,  971,  971,  287,  322,  202,  971,
  523.       971,  719,  724,  727,  731,  736,  741,  743,  745,  747,
  524.       749,  751,  753,  755,  757,  759,  761,  763,  765,  767,
  525.       772,  777,  782
  526.     } ;
  527.  
  528. static const short int yy_def[674] =
  529.     {   0,
  530.       652,  652,  652,    3,  653,  653,  652,  652,  652,  652,
  531.       651,   11,  651,   13,  651,  651,  651,  651,  651,  651,
  532.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  533.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  534.       651,  651,  651,  651,  651,  651,   46,  651,  651,  651,
  535.       651,   46,   46,  651,   54,  651,  651,  651,  651,  651,
  536.       651,  651,  651,   54,   54,  651,  651,  651,  651,  651,
  537.       651,  651,  654,  651,  651,  651,  651,  651,  651,  651,
  538.       654,  651,  651,  655,  656,  651,  651,  657,  651,  651,
  539.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  540.  
  541.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  542.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  543.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  544.       651,  651,  651,  651,  651,  651,  651,  651,  658,  651,
  545.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  546.       651,  651,  651,  651,  651,  659,  651,  651,  651,  660,
  547.       651,  651,  651,  661,  651,  651,  651,  662,  651,  651,
  548.       663,  651,  651,  664,  651,  665,  651,  651,  651,  666,
  549.       651,  651,  651,  667,  651,  651,  668,  651,  651,  669,
  550.       651,  651,  670,  651,  651,  651,  651,  651,  651,  651,
  551.  
  552.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  553.       651,  651,  651,  651,  651,  651,  651,  671,  651,  672,
  554.       673,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  555.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  556.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  557.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  558.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  559.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  560.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  561.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  562.  
  563.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  564.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  565.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  566.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  567.       651,  651,  651,  651,  651,  651,  672,  651,  651,  651,
  568.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  569.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  570.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  571.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  572.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  573.  
  574.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  575.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  576.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  577.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  578.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  579.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  580.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  581.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  582.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  583.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  584.  
  585.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  586.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  587.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  588.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  589.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  590.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  591.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  592.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  593.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  594.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  595.  
  596.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  597.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  598.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  599.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  600.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  601.         0,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  602.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  603.       651,  651,  651
  604.     } ;
  605.  
  606. static const short int yy_nxt[1038] =
  607.     {   0,
  608.       651,  651,  651,  651,  651,  651,   17,   18,   19,   20,
  609.        21,   22,   23,  174,  200,  193,  453,  651,  651,  454,
  610.        24,   25,  418,   26,  418,   27,  174,   28,  193,  453,
  611.        26,  248,  454,   26,  198,  249,   26,   41,   29,   30,
  612.        31,   30,   26,   42,   27,  203,   28,  200,   16,  200,
  613.        32,   36,   41,  198,   43,   26,   37,   37,   42,   16,
  614.        26,  139,   36,   33,   34,   38,   39,   37,   37,   43,
  615.        44,  199,  309,   45,  139,  274,   38,   39,  203,  275,
  616.       203,  304,  449,  419,   37,   44,   37,  305,   45,  291,
  617.       199,  309,  292,  450,  140,   37,  140,   37,   46,   46,
  618.  
  619.        46,   46,   46,   46,   46,   46,   46,   46,   46,   47,
  620.        46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
  621.        46,   48,   16,   49,   16,   50,   16,   16,   48,   51,
  622.        16,   48,   16,   51,   48,   16,   46,   52,   46,   53,
  623.        48,   16,   49,   16,   50,   16,   16,   16,   48,   16,
  624.        51,   16,   16,   48,   16,   16,   16,   51,   48,   16,
  625.        16,   46,   46,   46,   54,   54,   54,   54,   54,   54,
  626.        54,   54,   54,   54,   54,   55,   54,   54,   54,   54,
  627.        54,   54,   54,   54,   54,   54,   54,   56,   16,   57,
  628.        16,   58,   16,   16,   59,   60,   16,   61,   16,   60,
  629.  
  630.        62,   63,   54,   64,   54,   65,   66,   16,   67,   16,
  631.        68,   16,   16,   16,   69,   16,   60,   16,   16,   70,
  632.        16,   16,   16,   60,   71,   16,   72,   54,   54,   54,
  633.        88,   89,   90,   91,   92,   88,  139,  156,  294,  297,
  634.       160,  142,  298,  164,  168,  161,  295,  171,  176,  139,
  635.       156,  296,  220,  160,  194,  195,  164,  168,  569,  570,
  636.       171,  176,  220,   88,   93,   88,  650,   94,   95,  140,
  637.       157,  140,  158,  162,  217,  163,  165,  169,  166,  170,
  638.       172,  177,  173,  178,  197,  651,  651,   96,   97,  101,
  639.       350,  102,  103,  104,  105,  106,  107,  108,  109,  218,
  640.  
  641.       180,  184,  220,  302,  323,  181,  391,  220,  110,  187,
  642.       324,  221,  200,  180,  184,  197,  351,  202,  111,  112,
  643.       392,  303,  187,  277,  113,  114,  115,  116,  117,  118,
  644.       649,  648,  119,  182,  185,  183,  186,  647,  120,  121,
  645.       122,  330,  188,  123,  189,  200,  190,  200,  124,  125,
  646.       126,  128,  129,  130,  646,  131,  132,  133,  134,  190,
  647.       330,  645,  135,  136,  278,  310,  316,  313,  311,  317,
  648.       128,  129,  130,  321,  137,  314,  132,  133,  134,  191,
  649.       315,  192,  279,  396,  353,  367,  135,  136,  145,  146,
  650.       147,  322,  148,  149,  150,  151,  204,  644,  643,  152,
  651.  
  652.       153,  205,  205,  396,  368,  411,  370,  145,  146,  147,
  653.       354,  154,  207,  149,  150,  151,  212,  208,  208,  412,
  654.       642,  213,  213,  152,  153,  371,  209,  210,  214,  205,
  655.       641,  205,  215,  205,  205,  377,  389,  205,  205,  390,
  656.       347,  409,  397,  421,  410,  208,  416,  208,  377,  213,
  657.       347,  213,  495,  468,  496,  397,  456,  420,  462,  594,
  658.       472,  205,  595,  205,  469,  205,  416,  205,  222,  456,
  659.       285,  462,  223,  472,  418,  224,  418,  378,  225,  286,
  660.       287,  226,  640,  227,  398,  639,  473,  228,  347,  288,
  661.       347,  229,  566,  307,  567,  347,  638,  475,  347,  473,
  662.  
  663.       230,  289,  290,  307,  481,  231,  307,  232,  233,  234,
  664.       475,  637,  307,  235,  506,  624,  236,  481,  623,  237,
  665.       513,  326,  238,  239,  240,  307,  522,  506,  241,  622,
  666.       307,  326,  242,  513,  326,  419,  621,  620,  347,  522,
  667.       326,  243,  335,  347,  619,  618,  244,  617,  245,  246,
  668.       252,  529,  335,  326,  253,  335,  616,  254,  326,  536,
  669.       255,  335,  539,  256,  529,  257,  615,  540,  545,  258,
  670.       549,  550,  536,  259,  335,  539,  553,  614,  613,  335,
  671.       540,  545,  260,  549,  550,  612,  554,  261,  609,  553,
  672.       262,  263,  559,  608,  563,  264,  573,  606,  265,  554,
  673.  
  674.       575,  266,  582,  584,  267,  559,  268,  563,  600,  573,
  675.       269,  603,  604,  575,  270,  582,  584,  596,  597,  598,
  676.       607,  600,  610,  271,  603,  604,  611,  605,  272,  625,
  677.       626,  273,  627,  607,  628,  610,  629,  630,  631,  611,
  678.       599,  632,  625,  626,  633,  627,  633,  628,  602,  629,
  679.       630,  631,  601,  635,  632,  635,  633,  635,  633,  635,
  680.       593,  592,  591,  590,  589,  588,  587,  586,  585,  583,
  681.       581,  580,  579,  578,  577,  576,  574,  572,  571,  568,
  682.       565,  564,  562,  561,  560,  558,  557,  556,  555,  552,
  683.       551,  548,  547,  546,  544,  543,  542,  541,  538,  537,
  684.  
  685.       535,  534,  533,  532,  531,  634,  530,  528,  527,  526,
  686.       525,  524,  523,  521,  636,  520,  519,  634,  636,   16,
  687.        16,   16,   16,   16,   35,   35,   35,   35,   35,  196,
  688.       196,  206,  518,  206,  206,  206,  211,  517,  211,  211,
  689.       211,  216,  516,  216,  216,  216,  306,  306,  325,  325,
  690.       327,  327,  329,  329,  331,  331,  332,  332,  333,  333,
  691.       334,  334,  336,  336,  338,  338,  339,  339,  340,  340,
  692.       341,  341,  343,  515,  343,  343,  343,  346,  514,  346,
  693.       346,  346,  348,  512,  348,  348,  348,  511,  510,  509,
  694.       508,  507,  505,  504,  503,  502,  501,  500,  499,  498,
  695.  
  696.       497,  494,  493,  492,  491,  490,  489,  488,  487,  486,
  697.       485,  484,  483,  482,  480,  479,  478,  477,  476,  474,
  698.       471,  470,  467,  466,  465,  464,  463,  461,  460,  459,
  699.       458,  457,  455,  452,  451,  448,  447,  446,  445,  444,
  700.       443,  442,  441,  440,  439,  438,  437,  436,  435,  434,
  701.       433,  432,  431,  430,  429,  428,  427,  426,  425,  424,
  702.       423,  422,  420,  417,  415,  414,  413,  408,  407,  406,
  703.       405,  404,  403,  402,  401,  400,  399,  395,  394,  393,
  704.       388,  387,  386,  385,  384,  383,  382,  381,  380,  379,
  705.       376,  375,  374,  373,  372,  369,  366,  365,  364,  363,
  706.  
  707.       362,  361,  360,  359,  358,  357,  356,  355,  352,  349,
  708.       345,  344,  342,  337,  328,  317,  320,  319,  318,  312,
  709.       308,  298,  301,  300,  299,  293,  284,  283,  282,  281,
  710.       280,  276,  251,  250,  247,  219,  201,  195,  194,  179,
  711.       175,  167,  159,  155,  144,  143,  141,  138,  127,  100,
  712.        99,   98,   87,   86,   85,   84,   83,   82,   81,   80,
  713.        79,   78,   77,   76,   75,   74,   73,  651,   40,   40,
  714.        15,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  715.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  716.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  717.  
  718.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  719.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  720.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  721.       651,  651,  651,  651,  651,  651,  651
  722.     } ;
  723.  
  724. static const short int yy_chk[1038] =
  725.     {   0,
  726.         0,    0,    0,    0,    0,    0,    3,    3,    3,    3,
  727.         3,    3,    3,   63,   78,   72,  386,    0,    0,  387,
  728.         3,    3,  342,    3,  342,    3,   63,    3,   72,  386,
  729.         3,  110,  387,    3,   74,  110,    3,    9,    3,    3,
  730.         3,    3,    3,    9,    3,   82,    3,   78,    5,   78,
  731.         3,    5,   10,   74,    9,    3,    5,    5,   10,    6,
  732.         3,   48,    6,    3,    3,    5,    5,    6,    6,   10,
  733.         9,   75,  143,    9,   48,  116,    6,    6,   82,  116,
  734.        82,  136,  383,  342,    5,   10,    5,  136,   10,  128,
  735.        75,  143,  128,  383,   48,    6,   48,    6,   11,   11,
  736.  
  737.        11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
  738.        11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
  739.        11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
  740.        11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
  741.        11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
  742.        11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
  743.        11,   11,   11,   11,   13,   13,   13,   13,   13,   13,
  744.        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
  745.        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
  746.        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
  747.  
  748.        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
  749.        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
  750.        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
  751.        40,   40,   40,   40,   40,   40,   50,   56,  130,  131,
  752.        58,   50,  131,   59,   61,   58,  130,   62,   66,   50,
  753.        56,  130,   95,   58,   73,   73,   59,   61,  535,  535,
  754.        62,   66,   95,   40,   40,   40,  649,   40,   40,   50,
  755.        56,   50,   56,   58,   88,   58,   59,   61,   59,   61,
  756.        62,   66,   62,   66,   73,   81,   81,   40,   40,   44,
  757.       233,   44,   44,   44,   44,   44,   44,   44,   44,   88,
  758.  
  759.        68,   69,   95,  135,  153,   68,  303,   95,   44,   70,
  760.       153,   95,   80,   68,   69,   81,  233,   80,   44,   44,
  761.       303,  135,   70,  118,   44,   44,   44,   44,   44,   44,
  762.       648,  647,   44,   68,   69,   68,   69,  642,   44,   44,
  763.        44,  167,   70,   44,   70,   80,   71,   80,   44,   44,
  764.        44,   46,   46,   46,  638,   46,   46,   46,   46,   71,
  765.       167,  637,   46,   46,  118,  145,  148,  147,  145,  148,
  766.        46,   46,   46,  152,   46,  147,   46,   46,   46,   71,
  767.       147,   71,  118,  309,  246,  277,   46,   46,   54,   54,
  768.        54,  152,   54,   54,   54,   54,   83,  636,  634,   54,
  769.  
  770.        54,   83,   83,  309,  277,  322,  279,   54,   54,   54,
  771.       246,   54,   84,   54,   54,   54,   85,   84,   84,  322,
  772.       624,   85,   85,   54,   54,  279,   84,   84,   86,   83,
  773.       623,   83,   87,   86,   86,  291,  302,   87,   87,  302,
  774.       220,  321,  310,  344,  321,   84,  330,   84,  291,   85,
  775.       220,   85,  440,  403,  440,  310,  389,  344,  396,  569,
  776.       406,   86,  569,   86,  403,   87,  330,   87,  102,  389,
  777.       126,  396,  102,  406,  418,  102,  418,  291,  102,  126,
  778.       126,  102,  622,  102,  310,  621,  407,  102,  347,  126,
  779.       220,  102,  533,  141,  533,  220,  620,  409,  347,  407,
  780.  
  781.       102,  126,  126,  141,  416,  102,  141,  102,  102,  107,
  782.       409,  619,  141,  107,  451,  599,  107,  416,  598,  107,
  783.       460,  159,  107,  107,  107,  141,  470,  451,  107,  597,
  784.       141,  159,  107,  460,  159,  418,  596,  595,  347,  470,
  785.       159,  107,  179,  347,  594,  593,  107,  592,  107,  107,
  786.       113,  479,  179,  159,  113,  179,  591,  113,  159,  499,
  787.       113,  179,  502,  113,  479,  113,  590,  503,  509,  113,
  788.       514,  515,  499,  113,  179,  502,  518,  589,  588,  179,
  789.       503,  509,  113,  514,  515,  587,  519,  113,  583,  518,
  790.       113,  115,  525,  581,  530,  115,  541,  579,  115,  519,
  791.  
  792.       543,  115,  555,  557,  115,  525,  115,  530,  571,  541,
  793.       115,  576,  577,  543,  115,  555,  557,  570,  570,  570,
  794.       580,  571,  585,  115,  576,  577,  586,  578,  115,  601,
  795.       602,  115,  605,  580,  606,  585,  608,  609,  612,  586,
  796.       570,  613,  601,  602,  614,  605,  614,  606,  574,  608,
  797.       609,  612,  572,  615,  613,  615,  633,  635,  633,  635,
  798.       568,  567,  566,  565,  564,  562,  561,  560,  558,  556,
  799.       552,  551,  548,  547,  546,  544,  542,  538,  537,  534,
  800.       532,  531,  528,  527,  526,  524,  523,  521,  520,  517,
  801.       516,  512,  511,  510,  508,  507,  505,  504,  501,  500,
  802.  
  803.       497,  496,  495,  493,  484,  614,  480,  478,  477,  476,
  804.       474,  473,  471,  469,  615,  468,  467,  633,  635,  652,
  805.       652,  652,  652,  652,  653,  653,  653,  653,  653,  654,
  806.       654,  655,  466,  655,  655,  655,  656,  465,  656,  656,
  807.       656,  657,  464,  657,  657,  657,  658,  658,  659,  659,
  808.       660,  660,  661,  661,  662,  662,  663,  663,  664,  664,
  809.       665,  665,  666,  666,  667,  667,  668,  668,  669,  669,
  810.       670,  670,  671,  463,  671,  671,  671,  672,  461,  672,
  811.       672,  672,  673,  459,  673,  673,  673,  458,  457,  455,
  812.       454,  452,  450,  449,  448,  447,  446,  445,  444,  442,
  813.  
  814.       441,  437,  436,  433,  432,  431,  430,  427,  426,  425,
  815.       424,  422,  421,  419,  414,  413,  412,  411,  410,  408,
  816.       405,  404,  402,  401,  400,  399,  398,  394,  393,  392,
  817.       391,  390,  388,  385,  384,  382,  381,  380,  379,  378,
  818.       376,  374,  373,  372,  371,  370,  369,  366,  365,  364,
  819.       363,  362,  361,  360,  357,  356,  353,  352,  350,  349,
  820.       348,  345,  343,  337,  328,  324,  323,  320,  319,  318,
  821.       317,  316,  315,  314,  313,  312,  311,  308,  305,  304,
  822.       301,  300,  299,  298,  297,  296,  295,  294,  293,  292,
  823.       284,  283,  282,  281,  280,  278,  276,  275,  274,  273,
  824.  
  825.       268,  262,  257,  251,  250,  249,  248,  247,  240,  227,
  826.       219,  218,  217,  181,  161,  154,  151,  150,  149,  146,
  827.       142,  137,  134,  133,  132,  129,  123,  122,  121,  120,
  828.       119,  117,  112,  111,  108,   94,   79,   77,   76,   67,
  829.        65,   60,   57,   55,   53,   51,   49,   47,   45,   43,
  830.        42,   41,   39,   38,   37,   36,   35,   32,   30,   28,
  831.        27,   26,   25,   24,   23,   22,   17,   15,    8,    7,
  832.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  833.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  834.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  835.  
  836.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  837.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  838.       651,  651,  651,  651,  651,  651,  651,  651,  651,  651,
  839.       651,  651,  651,  651,  651,  651,  651
  840.     } ;
  841.  
  842. static yy_state_type yy_last_accepting_state;
  843. static YY_CHAR *yy_last_accepting_cpos;
  844.  
  845. /* the intent behind this definition is that it'll catch
  846.  * any uses of REJECT which flex missed
  847.  */
  848. #define REJECT reject_used_but_not_detected
  849. #define yymore() yymore_used_but_not_detected
  850. #define YY_MORE_ADJ 0
  851.  
  852. /* these variables are all declared out here so that section 3 code can
  853.  * manipulate them
  854.  */
  855. /* points to current character in buffer */
  856. static YY_CHAR *yy_c_buf_p = (YY_CHAR *) 0;
  857. static int yy_init = 1;        /* whether we need to initialize */
  858. static int yy_start = 0;    /* start state number */
  859.  
  860. /* flag which is used to allow yywrap()'s to do buffer switches
  861.  * instead of setting up a fresh yyin.  A bit of a hack ...
  862.  */
  863. static int yy_did_buffer_switch_on_eof;
  864.  
  865. static yy_state_type yy_get_previous_state YY_PROTO(( void ));
  866. static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
  867. static int yy_get_next_buffer YY_PROTO(( void ));
  868. static void yyunput YY_PROTO(( YY_CHAR c, YY_CHAR *buf_ptr ));
  869. void yyrestart YY_PROTO(( FILE *input_file ));
  870. void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
  871. void yy_load_buffer_state YY_PROTO(( void ));
  872. YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
  873. void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
  874. void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
  875.  
  876. #define yy_new_buffer yy_create_buffer
  877.  
  878. #ifdef __cplusplus
  879. static int yyinput YY_PROTO(( void ));
  880. #else
  881. static int input YY_PROTO(( void ));
  882. #endif
  883.  
  884. YY_DECL
  885.     {
  886.     register yy_state_type yy_current_state;
  887.     register YY_CHAR *yy_cp, *yy_bp;
  888.     register int yy_act;
  889.  
  890.  
  891.  
  892.     if ( yy_init )
  893.     {
  894.     YY_USER_INIT;
  895.  
  896.     if ( ! yy_start )
  897.         yy_start = 1;    /* first start state */
  898.  
  899.     if ( ! yyin )
  900.         yyin = stdin;
  901.  
  902.     if ( ! yyout )
  903.         yyout = stdout;
  904.  
  905.     if ( yy_current_buffer )
  906.         yy_init_buffer( yy_current_buffer, yyin );
  907.     else
  908.         yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
  909.  
  910.     yy_load_buffer_state();
  911.  
  912.     yy_init = 0;
  913.     }
  914.  
  915.     while ( 1 )        /* loops until end-of-file is reached */
  916.     {
  917.     yy_cp = yy_c_buf_p;
  918.  
  919.     /* support of yytext */
  920.     *yy_cp = yy_hold_char;
  921.  
  922.     /* yy_bp points to the position in yy_ch_buf of the start of the
  923.      * current run.
  924.      */
  925.     yy_bp = yy_cp;
  926.  
  927.     yy_current_state = yy_start;
  928. yy_match:
  929.     do
  930.         {
  931.         register YY_CHAR yy_c = yy_ec[*yy_cp];
  932.         if ( yy_accept[yy_current_state] )
  933.         {
  934.         yy_last_accepting_state = yy_current_state;
  935.         yy_last_accepting_cpos = yy_cp;
  936.         }
  937.         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
  938.         {
  939.         yy_current_state = yy_def[yy_current_state];
  940.         if ( yy_current_state >= 652 )
  941.             yy_c = yy_meta[yy_c];
  942.         }
  943.         yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
  944.         ++yy_cp;
  945.         }
  946.     while ( yy_current_state != 651 );
  947.     yy_cp = yy_last_accepting_cpos;
  948.     yy_current_state = yy_last_accepting_state;
  949.  
  950. yy_find_action:
  951.     yy_act = yy_accept[yy_current_state];
  952.  
  953.     YY_DO_BEFORE_ACTION;
  954.     YY_USER_ACTION;
  955.  
  956. do_action:    /* this label is used only to access EOF actions */
  957.  
  958.  
  959.     switch ( yy_act )
  960.         {
  961.         case 0: /* must backtrack */
  962.         /* undo the effects of YY_DO_BEFORE_ACTION */
  963.         *yy_cp = yy_hold_char;
  964.         yy_cp = yy_last_accepting_cpos;
  965.         yy_current_state = yy_last_accepting_state;
  966.         goto yy_find_action;
  967.  
  968. case 1:
  969. # line 88 "<stdin>"
  970. { if (!diacritics_only) output ('\\'); output ('#'); }
  971.     YY_BREAK
  972. case 2:
  973. # line 89 "<stdin>"
  974. { if (!diacritics_only) output ('\\'); output ('$'); }
  975.     YY_BREAK
  976. case 3:
  977. # line 90 "<stdin>"
  978. { if (!diacritics_only) output ('\\'); output ('%'); }
  979.     YY_BREAK
  980. case 4:
  981. # line 91 "<stdin>"
  982. { if (!diacritics_only) output ('\\'); output ('&'); }
  983.     YY_BREAK
  984. case 5:
  985. # line 92 "<stdin>"
  986. { if (!diacritics_only) output ('\\'); output ('_'); }
  987.     YY_BREAK
  988. case 6:
  989. # line 93 "<stdin>"
  990. { if (!diacritics_only) output ('\\'); output ('{'); }
  991.     YY_BREAK
  992. case 7:
  993. # line 94 "<stdin>"
  994. { if (!diacritics_only) output ('\\'); output ('}'); }
  995.     YY_BREAK
  996. case 8:
  997. # line 95 "<stdin>"
  998. { const char *cursor;
  999.               if (diacritics_only)
  1000.                 output ('\\');
  1001.               else
  1002.                 for (cursor = "\\backslash{}"; *cursor; cursor++)
  1003.                   output (*cursor);
  1004.             }
  1005.     YY_BREAK
  1006. case 9:
  1007. # line 102 "<stdin>"
  1008. { output ('`'); output ('`'); }
  1009.     YY_BREAK
  1010. case 10:
  1011. # line 103 "<stdin>"
  1012. { output ('\''); output ('\''); }
  1013.     YY_BREAK
  1014. case 11:
  1015. # line 104 "<stdin>"
  1016. { output ('\\'); output ('\''); output (yytext[2]); }
  1017.     YY_BREAK
  1018. case 12:
  1019. # line 105 "<stdin>"
  1020. { output ('\\'); output ('\''); output (yytext[0]); }
  1021.     YY_BREAK
  1022. case 13:
  1023. # line 106 "<stdin>"
  1024. { output ('\\'); output (yytext[0]);
  1025.               output (yytext[2]); }
  1026.     YY_BREAK
  1027. case 14:
  1028. # line 108 "<stdin>"
  1029. { output ('\\'); output (yytext[0]); output ('\\');
  1030.               output ('i'); output (' '); }
  1031.     YY_BREAK
  1032. case 15:
  1033. # line 110 "<stdin>"
  1034. { output ('\\'); output (yytext[2]);
  1035.               output (yytext[0]); }
  1036.     YY_BREAK
  1037. case 16:
  1038. # line 112 "<stdin>"
  1039. { output ('\\'); output (yytext[2]); output ('\\');
  1040.               output ('i'); output (' '); }
  1041.     YY_BREAK
  1042. case 17:
  1043. # line 114 "<stdin>"
  1044. { output ('\\'); output ('c'); output ('{');
  1045.               output (yytext[2]); output ('}'); }
  1046.     YY_BREAK
  1047. case 18:
  1048. # line 116 "<stdin>"
  1049. { output ('\\'); output ('c'); output ('{');
  1050.               output (yytext[0]); output ('}'); }
  1051.     YY_BREAK
  1052. case 19:
  1053. # line 118 "<stdin>"
  1054. { output ('`'); output ('`'); }
  1055.     YY_BREAK
  1056. case 20:
  1057. # line 119 "<stdin>"
  1058. { output ('\''); output ('\''); }
  1059.     YY_BREAK
  1060. case 21:
  1061. # line 120 "<stdin>"
  1062. { output (yytext[2]); output (yytext[0]); }
  1063.     YY_BREAK
  1064. case 22:
  1065. # line 121 "<stdin>"
  1066. { output (yytext[0]); output (yytext[2]); }
  1067.     YY_BREAK
  1068. case 23:
  1069. # line 122 "<stdin>"
  1070. { output (yytext[2]); output (diaeresis_char); }
  1071.     YY_BREAK
  1072. case 24:
  1073. # line 123 "<stdin>"
  1074. { output (yytext[0]); output (diaeresis_char); }
  1075.     YY_BREAK
  1076. case 25:
  1077. # line 124 "<stdin>"
  1078. { if (diacritics_only) ECHO; else output ('#'); }
  1079.     YY_BREAK
  1080. case 26:
  1081. # line 125 "<stdin>"
  1082. { if (diacritics_only) ECHO; else output ('$'); }
  1083.     YY_BREAK
  1084. case 27:
  1085. # line 126 "<stdin>"
  1086. { if (diacritics_only) ECHO; else output ('%'); }
  1087.     YY_BREAK
  1088. case 28:
  1089. # line 127 "<stdin>"
  1090. { if (diacritics_only) ECHO; else output ('&'); }
  1091.     YY_BREAK
  1092. case 29:
  1093. # line 128 "<stdin>"
  1094. { if (diacritics_only) ECHO; else output ('_'); }
  1095.     YY_BREAK
  1096. case 30:
  1097. # line 129 "<stdin>"
  1098. { if (diacritics_only) ECHO; else output ('{'); }
  1099.     YY_BREAK
  1100. case 31:
  1101. # line 130 "<stdin>"
  1102. { if (diacritics_only) ECHO; else output ('}'); }
  1103.     YY_BREAK
  1104. case 32:
  1105. # line 131 "<stdin>"
  1106. { if (diacritics_only) ECHO; else output ('\\'); }
  1107.     YY_BREAK
  1108. case 33:
  1109. # line 132 "<stdin>"
  1110. { output ('i'); output ('\b'); output (yytext[1]); }
  1111.     YY_BREAK
  1112. case 34:
  1113. # line 133 "<stdin>"
  1114. { output ('i'); output ('\b'); output (yytext[1]); }
  1115.     YY_BREAK
  1116. case 35:
  1117. # line 134 "<stdin>"
  1118. { output (yytext[3]); output ('\b');
  1119.               output (yytext[1]); }
  1120.     YY_BREAK
  1121. case 36:
  1122. # line 136 "<stdin>"
  1123. { output (yytext[2]); output ('\b');
  1124.               output (yytext[1]); }
  1125.     YY_BREAK
  1126. case 37:
  1127. # line 138 "<stdin>"
  1128. { output (','); output ('\b'); output (yytext[3]); }
  1129.     YY_BREAK
  1130. case 38:
  1131. # line 139 "<stdin>"
  1132. { output (','); output ('\b');
  1133.               output (yytext[yyleng-1]); }
  1134.     YY_BREAK
  1135. case 39:
  1136. # line 141 "<stdin>"
  1137. { if (diacritics_only) ECHO; else output ('#'); }
  1138.     YY_BREAK
  1139. case 40:
  1140. # line 142 "<stdin>"
  1141. { if (diacritics_only) ECHO; else output ('$'); }
  1142.     YY_BREAK
  1143. case 41:
  1144. # line 143 "<stdin>"
  1145. { if (diacritics_only) ECHO; else output ('%'); }
  1146.     YY_BREAK
  1147. case 42:
  1148. # line 144 "<stdin>"
  1149. { if (diacritics_only) ECHO; else output ('&'); }
  1150.     YY_BREAK
  1151. case 43:
  1152. # line 145 "<stdin>"
  1153. { if (diacritics_only) ECHO; else output ('_'); }
  1154.     YY_BREAK
  1155. case 44:
  1156. # line 146 "<stdin>"
  1157. { if (diacritics_only) ECHO; else output ('{'); }
  1158.     YY_BREAK
  1159. case 45:
  1160. # line 147 "<stdin>"
  1161. { if (diacritics_only) ECHO; else output ('}'); }
  1162.     YY_BREAK
  1163. case 46:
  1164. # line 148 "<stdin>"
  1165. { if (diacritics_only) ECHO; else output ('\\'); }
  1166.     YY_BREAK
  1167. case 47:
  1168. # line 149 "<stdin>"
  1169. { if (diacritics_only) ECHO; else output ('\240'); }
  1170.     YY_BREAK
  1171. case 48:
  1172. # line 150 "<stdin>"
  1173. { if (diacritics_only) ECHO; else output ('\241'); }
  1174.     YY_BREAK
  1175. case 49:
  1176. # line 151 "<stdin>"
  1177. { if (diacritics_only) ECHO; else output ('\247'); }
  1178.     YY_BREAK
  1179. case 50:
  1180. # line 152 "<stdin>"
  1181. { if (diacritics_only) ECHO; else output ('\250'); }
  1182.     YY_BREAK
  1183. case 51:
  1184. # line 153 "<stdin>"
  1185. { if (diacritics_only) ECHO; else output ('\253'); }
  1186.     YY_BREAK
  1187. case 52:
  1188. # line 154 "<stdin>"
  1189. { if (diacritics_only) ECHO; else output ('\254'); }
  1190.     YY_BREAK
  1191. case 53:
  1192. # line 155 "<stdin>"
  1193. { if (diacritics_only) ECHO; else output ('\255'); }
  1194.     YY_BREAK
  1195. case 54:
  1196. # line 156 "<stdin>"
  1197. { if (diacritics_only) ECHO; else output ('\260'); }
  1198.     YY_BREAK
  1199. case 55:
  1200. # line 157 "<stdin>"
  1201. { if (diacritics_only) ECHO; else output ('\261'); }
  1202.     YY_BREAK
  1203. case 56:
  1204. # line 158 "<stdin>"
  1205. { if (diacritics_only) ECHO; else output ('\262'); }
  1206.     YY_BREAK
  1207. case 57:
  1208. # line 159 "<stdin>"
  1209. { if (diacritics_only) ECHO; else output ('\263'); }
  1210.     YY_BREAK
  1211. case 58:
  1212. # line 160 "<stdin>"
  1213. { if (diacritics_only) ECHO; else output ('\264'); }
  1214.     YY_BREAK
  1215. case 59:
  1216. # line 161 "<stdin>"
  1217. { if (diacritics_only) ECHO; else output ('\265'); }
  1218.     YY_BREAK
  1219. case 60:
  1220. # line 162 "<stdin>"
  1221. { if (diacritics_only) ECHO; else output ('\267'); }
  1222.     YY_BREAK
  1223. case 61:
  1224. # line 163 "<stdin>"
  1225. { if (diacritics_only) ECHO; else output ('\270'); }
  1226.     YY_BREAK
  1227. case 62:
  1228. # line 164 "<stdin>"
  1229. { if (diacritics_only) ECHO; else output ('\271'); }
  1230.     YY_BREAK
  1231. case 63:
  1232. # line 165 "<stdin>"
  1233. { if (diacritics_only) ECHO; else output ('\273'); }
  1234.     YY_BREAK
  1235. case 64:
  1236. # line 166 "<stdin>"
  1237. { if (diacritics_only) ECHO; else output ('\274'); }
  1238.     YY_BREAK
  1239. case 65:
  1240. # line 167 "<stdin>"
  1241. { if (diacritics_only) ECHO; else output ('\275'); }
  1242.     YY_BREAK
  1243. case 66:
  1244. # line 168 "<stdin>"
  1245. { if (diacritics_only) ECHO; else output ('\276'); }
  1246.     YY_BREAK
  1247. case 67:
  1248. # line 169 "<stdin>"
  1249. { if (diacritics_only) ECHO; else output ('\277'); }
  1250.     YY_BREAK
  1251. case 68:
  1252. # line 170 "<stdin>"
  1253. { output ('\300'); }
  1254.     YY_BREAK
  1255. case 69:
  1256. # line 171 "<stdin>"
  1257. { output ('\301'); }
  1258.     YY_BREAK
  1259. case 70:
  1260. # line 172 "<stdin>"
  1261. { output ('\302'); }
  1262.     YY_BREAK
  1263. case 71:
  1264. # line 173 "<stdin>"
  1265. { output ('\303'); }
  1266.     YY_BREAK
  1267. case 72:
  1268. # line 174 "<stdin>"
  1269. { output ('\304'); }
  1270.     YY_BREAK
  1271. case 73:
  1272. # line 175 "<stdin>"
  1273. { output ('\305'); }
  1274.     YY_BREAK
  1275. case 74:
  1276. # line 176 "<stdin>"
  1277. { output ('\306'); }
  1278.     YY_BREAK
  1279. case 75:
  1280. # line 177 "<stdin>"
  1281. { output ('\307'); }
  1282.     YY_BREAK
  1283. case 76:
  1284. # line 178 "<stdin>"
  1285. { output ('\307'); }
  1286.     YY_BREAK
  1287. case 77:
  1288. # line 179 "<stdin>"
  1289. { output ('\310'); }
  1290.     YY_BREAK
  1291. case 78:
  1292. # line 180 "<stdin>"
  1293. { output ('\311'); }
  1294.     YY_BREAK
  1295. case 79:
  1296. # line 181 "<stdin>"
  1297. { output ('\312'); }
  1298.     YY_BREAK
  1299. case 80:
  1300. # line 182 "<stdin>"
  1301. { output ('\313'); }
  1302.     YY_BREAK
  1303. case 81:
  1304. # line 183 "<stdin>"
  1305. { output ('\314'); }
  1306.     YY_BREAK
  1307. case 82:
  1308. # line 184 "<stdin>"
  1309. { output ('\315'); }
  1310.     YY_BREAK
  1311. case 83:
  1312. # line 185 "<stdin>"
  1313. { output ('\316'); }
  1314.     YY_BREAK
  1315. case 84:
  1316. # line 186 "<stdin>"
  1317. { output ('\317'); }
  1318.     YY_BREAK
  1319. case 85:
  1320. # line 187 "<stdin>"
  1321. { output ('\321'); }
  1322.     YY_BREAK
  1323. case 86:
  1324. # line 188 "<stdin>"
  1325. { output ('\322'); }
  1326.     YY_BREAK
  1327. case 87:
  1328. # line 189 "<stdin>"
  1329. { output ('\323'); }
  1330.     YY_BREAK
  1331. case 88:
  1332. # line 190 "<stdin>"
  1333. { output ('\324'); }
  1334.     YY_BREAK
  1335. case 89:
  1336. # line 191 "<stdin>"
  1337. { output ('\325'); }
  1338.     YY_BREAK
  1339. case 90:
  1340. # line 192 "<stdin>"
  1341. { output ('\326'); }
  1342.     YY_BREAK
  1343. case 91:
  1344. # line 193 "<stdin>"
  1345. { output ('\330'); }
  1346.     YY_BREAK
  1347. case 92:
  1348. # line 194 "<stdin>"
  1349. { output ('\331'); }
  1350.     YY_BREAK
  1351. case 93:
  1352. # line 195 "<stdin>"
  1353. { output ('\332'); }
  1354.     YY_BREAK
  1355. case 94:
  1356. # line 196 "<stdin>"
  1357. { output ('\333'); }
  1358.     YY_BREAK
  1359. case 95:
  1360. # line 197 "<stdin>"
  1361. { output ('\334'); }
  1362.     YY_BREAK
  1363. case 96:
  1364. # line 198 "<stdin>"
  1365. { output ('\335'); }
  1366.     YY_BREAK
  1367. case 97:
  1368. # line 199 "<stdin>"
  1369. { output ('\337'); }
  1370.     YY_BREAK
  1371. case 98:
  1372. # line 200 "<stdin>"
  1373. { output ('\340'); }
  1374.     YY_BREAK
  1375. case 99:
  1376. # line 201 "<stdin>"
  1377. { output ('\341'); }
  1378.     YY_BREAK
  1379. case 100:
  1380. # line 202 "<stdin>"
  1381. { output ('\342'); }
  1382.     YY_BREAK
  1383. case 101:
  1384. # line 203 "<stdin>"
  1385. { output ('\343'); }
  1386.     YY_BREAK
  1387. case 102:
  1388. # line 204 "<stdin>"
  1389. { output ('\344'); }
  1390.     YY_BREAK
  1391. case 103:
  1392. # line 205 "<stdin>"
  1393. { output ('\345'); }
  1394.     YY_BREAK
  1395. case 104:
  1396. # line 206 "<stdin>"
  1397. { output ('\346'); }
  1398.     YY_BREAK
  1399. case 105:
  1400. # line 207 "<stdin>"
  1401. { output ('\347'); }
  1402.     YY_BREAK
  1403. case 106:
  1404. # line 208 "<stdin>"
  1405. { output ('\347'); }
  1406.     YY_BREAK
  1407. case 107:
  1408. # line 209 "<stdin>"
  1409. { output ('\350'); }
  1410.     YY_BREAK
  1411. case 108:
  1412. # line 210 "<stdin>"
  1413. { output ('\351'); }
  1414.     YY_BREAK
  1415. case 109:
  1416. # line 211 "<stdin>"
  1417. { output ('\352'); }
  1418.     YY_BREAK
  1419. case 110:
  1420. # line 212 "<stdin>"
  1421. { output ('\353'); }
  1422.     YY_BREAK
  1423. case 111:
  1424. # line 213 "<stdin>"
  1425. { output ('\354'); }
  1426.     YY_BREAK
  1427. case 112:
  1428. # line 214 "<stdin>"
  1429. { output ('\354'); }
  1430.     YY_BREAK
  1431. case 113:
  1432. # line 215 "<stdin>"
  1433. { output ('\355'); }
  1434.     YY_BREAK
  1435. case 114:
  1436. # line 216 "<stdin>"
  1437. { output ('\355'); }
  1438.     YY_BREAK
  1439. case 115:
  1440. # line 217 "<stdin>"
  1441. { output ('\356'); }
  1442.     YY_BREAK
  1443. case 116:
  1444. # line 218 "<stdin>"
  1445. { output ('\356'); }
  1446.     YY_BREAK
  1447. case 117:
  1448. # line 219 "<stdin>"
  1449. { output ('\357'); }
  1450.     YY_BREAK
  1451. case 118:
  1452. # line 220 "<stdin>"
  1453. { output ('\357'); }
  1454.     YY_BREAK
  1455. case 119:
  1456. # line 221 "<stdin>"
  1457. { output ('\361'); }
  1458.     YY_BREAK
  1459. case 120:
  1460. # line 222 "<stdin>"
  1461. { output ('\362'); }
  1462.     YY_BREAK
  1463. case 121:
  1464. # line 223 "<stdin>"
  1465. { output ('\363'); }
  1466.     YY_BREAK
  1467. case 122:
  1468. # line 224 "<stdin>"
  1469. { output ('\364'); }
  1470.     YY_BREAK
  1471. case 123:
  1472. # line 225 "<stdin>"
  1473. { output ('\365'); }
  1474.     YY_BREAK
  1475. case 124:
  1476. # line 226 "<stdin>"
  1477. { output ('\366'); }
  1478.     YY_BREAK
  1479. case 125:
  1480. # line 227 "<stdin>"
  1481. { output ('\370'); }
  1482.     YY_BREAK
  1483. case 126:
  1484. # line 228 "<stdin>"
  1485. { output ('\371'); }
  1486.     YY_BREAK
  1487. case 127:
  1488. # line 229 "<stdin>"
  1489. { output ('\372'); }
  1490.     YY_BREAK
  1491. case 128:
  1492. # line 230 "<stdin>"
  1493. { output ('\373'); }
  1494.     YY_BREAK
  1495. case 129:
  1496. # line 231 "<stdin>"
  1497. { output ('\374'); }
  1498.     YY_BREAK
  1499. case 130:
  1500. # line 232 "<stdin>"
  1501. { output ('\375'); }
  1502.     YY_BREAK
  1503. case 131:
  1504. # line 233 "<stdin>"
  1505. { output ('\377'); }
  1506.     YY_BREAK
  1507. case 132:
  1508. # line 234 "<stdin>"
  1509. { output ('\''); output ('\b'); output (yytext[0]);
  1510.               output ('"'); output ('\b'); output ('>'); }
  1511.     YY_BREAK
  1512. case 133:
  1513. # line 236 "<stdin>"
  1514. { output (yytext[0]);
  1515.               output ('"'); output ('\b'); output ('>'); }
  1516.     YY_BREAK
  1517. case 134:
  1518. # line 238 "<stdin>"
  1519. { output ('\''); output ('\b'); output (yytext[0]); }
  1520.     YY_BREAK
  1521. case 135:
  1522. # line 239 "<stdin>"
  1523. { output (yytext[1]); output ('\b');
  1524.               output (yytext[0]); } 
  1525.     YY_BREAK
  1526. case 136:
  1527. *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
  1528. yy_c_buf_p = yy_cp = yy_bp + 2;
  1529. YY_DO_BEFORE_ACTION; /* set up yytext again */
  1530. # line 241 "<stdin>"
  1531. { output (','); output ('\b'); output (yytext[0]); }
  1532.     YY_BREAK
  1533. case 137:
  1534. *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
  1535. yy_c_buf_p = yy_cp = yy_bp + 2;
  1536. YY_DO_BEFORE_ACTION; /* set up yytext again */
  1537. # line 242 "<stdin>"
  1538. { output ('"'); output ('\b'); output (yytext[0]); } 
  1539.     YY_BREAK
  1540. case 138:
  1541. # line 243 "<stdin>"
  1542. { texte_ascii_diaeresis (); }
  1543.     YY_BREAK
  1544. case 139:
  1545. # line 244 "<stdin>"
  1546. { texte_ascii_diaeresis (); }
  1547.     YY_BREAK
  1548. case 140:
  1549. # line 245 "<stdin>"
  1550. { texte_ascii_diaeresis (); }
  1551.     YY_BREAK
  1552. case 141:
  1553. # line 246 "<stdin>"
  1554. { texte_ascii_diaeresis (); }
  1555.     YY_BREAK
  1556. case 142:
  1557. # line 247 "<stdin>"
  1558. { texte_ascii_diaeresis (); }
  1559.     YY_BREAK
  1560. case 143:
  1561. # line 248 "<stdin>"
  1562. { texte_ascii_diaeresis (); }
  1563.     YY_BREAK
  1564. case 144:
  1565. # line 249 "<stdin>"
  1566. { texte_ascii_diaeresis (); }
  1567.     YY_BREAK
  1568. case 145:
  1569. # line 250 "<stdin>"
  1570. { texte_ascii_diaeresis (); }
  1571.     YY_BREAK
  1572. case 146:
  1573. # line 251 "<stdin>"
  1574. { texte_ascii_diaeresis (); }
  1575.     YY_BREAK
  1576. case 147:
  1577. # line 252 "<stdin>"
  1578. { texte_ascii_diaeresis (); }
  1579.     YY_BREAK
  1580. case 148:
  1581. # line 253 "<stdin>"
  1582. { texte_ascii_diaeresis (); }
  1583.     YY_BREAK
  1584. case 149:
  1585. # line 254 "<stdin>"
  1586. { if (yytext[4] == diaeresis_char)
  1587.                 texte_ascii_diaeresis ();
  1588.               else
  1589.                 ECHO;
  1590.             }
  1591.     YY_BREAK
  1592. case 150:
  1593. # line 259 "<stdin>"
  1594. { texte_ascii_diaeresis (); }
  1595.     YY_BREAK
  1596. case 151:
  1597. # line 260 "<stdin>"
  1598. { ECHO; }
  1599.     YY_BREAK
  1600. case 152:
  1601. # line 261 "<stdin>"
  1602. { texte_ascii_diaeresis (); }
  1603.     YY_BREAK
  1604. case 153:
  1605. # line 262 "<stdin>"
  1606. { texte_ascii_diaeresis (); }
  1607.     YY_BREAK
  1608. case 154:
  1609. # line 263 "<stdin>"
  1610. { texte_ascii_diaeresis (); }
  1611.     YY_BREAK
  1612. case 155:
  1613. # line 264 "<stdin>"
  1614. { texte_ascii_diaeresis (); }
  1615.     YY_BREAK
  1616. case 156:
  1617. # line 265 "<stdin>"
  1618. { texte_ascii_diaeresis (); }
  1619.     YY_BREAK
  1620. case 157:
  1621. # line 266 "<stdin>"
  1622. { texte_ascii_diaeresis (); }
  1623.     YY_BREAK
  1624. case 158:
  1625. # line 267 "<stdin>"
  1626. { output ('"'); output ('\b'); output ('<'); }
  1627.     YY_BREAK
  1628. case 159:
  1629. # line 268 "<stdin>"
  1630. { output ('"'); output ('\b'); output ('>'); }
  1631.     YY_BREAK
  1632. case 160:
  1633. # line 269 "<stdin>"
  1634. { output ('\253'); }
  1635.     YY_BREAK
  1636. case 161:
  1637. # line 270 "<stdin>"
  1638. { output ('\273'); }
  1639.     YY_BREAK
  1640. case 162:
  1641. # line 271 "<stdin>"
  1642. { output ('\300'); }
  1643.     YY_BREAK
  1644. case 163:
  1645. # line 272 "<stdin>"
  1646. { output ('\302'); }
  1647.     YY_BREAK
  1648. case 164:
  1649. *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
  1650. yy_c_buf_p = yy_cp = yy_bp + 2;
  1651. YY_DO_BEFORE_ACTION; /* set up yytext again */
  1652. # line 273 "<stdin>"
  1653. { output ('\304'); }
  1654.     YY_BREAK
  1655. case 165:
  1656. # line 274 "<stdin>"
  1657. { output ('\340'); }
  1658.     YY_BREAK
  1659. case 166:
  1660. # line 275 "<stdin>"
  1661. { output ('\342'); }
  1662.     YY_BREAK
  1663. case 167:
  1664. *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
  1665. yy_c_buf_p = yy_cp = yy_bp + 2;
  1666. YY_DO_BEFORE_ACTION; /* set up yytext again */
  1667. # line 276 "<stdin>"
  1668. { output ('\344'); }
  1669.     YY_BREAK
  1670. case 168:
  1671. *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
  1672. yy_c_buf_p = yy_cp = yy_bp + 2;
  1673. YY_DO_BEFORE_ACTION; /* set up yytext again */
  1674. # line 277 "<stdin>"
  1675. { output ('\307'); }
  1676.     YY_BREAK
  1677. case 169:
  1678. *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
  1679. yy_c_buf_p = yy_cp = yy_bp + 2;
  1680. YY_DO_BEFORE_ACTION; /* set up yytext again */
  1681. # line 278 "<stdin>"
  1682. { output ('\347'); }
  1683.     YY_BREAK
  1684. case 170:
  1685. # line 279 "<stdin>"
  1686. { output ('\310'); }
  1687.     YY_BREAK
  1688. case 171:
  1689. # line 280 "<stdin>"
  1690. { output ('\311'); output ('\273'); }
  1691.     YY_BREAK
  1692. case 172:
  1693. # line 281 "<stdin>"
  1694. { output ('E'); output ('\273'); }
  1695.     YY_BREAK
  1696. case 173:
  1697. # line 282 "<stdin>"
  1698. { output ('\311'); }
  1699.     YY_BREAK
  1700. case 174:
  1701. # line 283 "<stdin>"
  1702. { output ('\312'); }
  1703.     YY_BREAK
  1704. case 175:
  1705. *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
  1706. yy_c_buf_p = yy_cp = yy_bp + 2;
  1707. YY_DO_BEFORE_ACTION; /* set up yytext again */
  1708. # line 284 "<stdin>"
  1709. { output ('\313'); }
  1710.     YY_BREAK
  1711. case 176:
  1712. # line 285 "<stdin>"
  1713. { output ('\350'); }
  1714.     YY_BREAK
  1715. case 177:
  1716. # line 286 "<stdin>"
  1717. { output ('\351'); output ('\273'); }
  1718.     YY_BREAK
  1719. case 178:
  1720. # line 287 "<stdin>"
  1721. { output ('e'); output ('\273'); }
  1722.     YY_BREAK
  1723. case 179:
  1724. # line 288 "<stdin>"
  1725. { output ('\351'); }
  1726.     YY_BREAK
  1727. case 180:
  1728. # line 289 "<stdin>"
  1729. { output ('\352'); }
  1730.     YY_BREAK
  1731. case 181:
  1732. *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
  1733. yy_c_buf_p = yy_cp = yy_bp + 2;
  1734. YY_DO_BEFORE_ACTION; /* set up yytext again */
  1735. # line 290 "<stdin>"
  1736. { output ('\353'); }
  1737.     YY_BREAK
  1738. case 182:
  1739. # line 291 "<stdin>"
  1740. { output ('\314'); }
  1741.     YY_BREAK
  1742. case 183:
  1743. # line 292 "<stdin>"
  1744. { output ('\316'); }
  1745.     YY_BREAK
  1746. case 184:
  1747. *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
  1748. yy_c_buf_p = yy_cp = yy_bp + 2;
  1749. YY_DO_BEFORE_ACTION; /* set up yytext again */
  1750. # line 293 "<stdin>"
  1751. { output ('\317'); }
  1752.     YY_BREAK
  1753. case 185:
  1754. # line 294 "<stdin>"
  1755. { output ('\354'); }
  1756.     YY_BREAK
  1757. case 186:
  1758. # line 295 "<stdin>"
  1759. { output ('\356'); }
  1760.     YY_BREAK
  1761. case 187:
  1762. *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
  1763. yy_c_buf_p = yy_cp = yy_bp + 2;
  1764. YY_DO_BEFORE_ACTION; /* set up yytext again */
  1765. # line 296 "<stdin>"
  1766. { output ('\357'); }
  1767.     YY_BREAK
  1768. case 188:
  1769. # line 297 "<stdin>"
  1770. { output ('\322'); }
  1771.     YY_BREAK
  1772. case 189:
  1773. # line 298 "<stdin>"
  1774. { output ('\324'); }
  1775.     YY_BREAK
  1776. case 190:
  1777. *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
  1778. yy_c_buf_p = yy_cp = yy_bp + 2;
  1779. YY_DO_BEFORE_ACTION; /* set up yytext again */
  1780. # line 299 "<stdin>"
  1781. { output ('\326'); }
  1782.     YY_BREAK
  1783. case 191:
  1784. # line 300 "<stdin>"
  1785. { output ('\362'); }
  1786.     YY_BREAK
  1787. case 192:
  1788. # line 301 "<stdin>"
  1789. { output ('\364'); }
  1790.     YY_BREAK
  1791. case 193:
  1792. *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
  1793. yy_c_buf_p = yy_cp = yy_bp + 2;
  1794. YY_DO_BEFORE_ACTION; /* set up yytext again */
  1795. # line 302 "<stdin>"
  1796. { output ('\366'); }
  1797.     YY_BREAK
  1798. case 194:
  1799. # line 303 "<stdin>"
  1800. { output ('\331'); }
  1801.     YY_BREAK
  1802. case 195:
  1803. # line 304 "<stdin>"
  1804. { output ('\333'); }
  1805.     YY_BREAK
  1806. case 196:
  1807. *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
  1808. yy_c_buf_p = yy_cp = yy_bp + 2;
  1809. YY_DO_BEFORE_ACTION; /* set up yytext again */
  1810. # line 305 "<stdin>"
  1811. { output ('\334'); }
  1812.     YY_BREAK
  1813. case 197:
  1814. # line 306 "<stdin>"
  1815. { output ('\371'); }
  1816.     YY_BREAK
  1817. case 198:
  1818. # line 307 "<stdin>"
  1819. { output ('\373'); }
  1820.     YY_BREAK
  1821. case 199:
  1822. *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
  1823. yy_c_buf_p = yy_cp = yy_bp + 2;
  1824. YY_DO_BEFORE_ACTION; /* set up yytext again */
  1825. # line 308 "<stdin>"
  1826. { output ('\374'); }
  1827.     YY_BREAK
  1828. case 200:
  1829. *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
  1830. yy_c_buf_p = yy_cp = yy_bp + 2;
  1831. YY_DO_BEFORE_ACTION; /* set up yytext again */
  1832. # line 309 "<stdin>"
  1833. { output ('Y'); }
  1834.     YY_BREAK
  1835. case 201:
  1836. *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
  1837. yy_c_buf_p = yy_cp = yy_bp + 2;
  1838. YY_DO_BEFORE_ACTION; /* set up yytext again */
  1839. # line 310 "<stdin>"
  1840. { output ('\337'); }
  1841.     YY_BREAK
  1842. case 202:
  1843. # line 311 "<stdin>"
  1844. { texte_latin1_diaeresis (); }
  1845.     YY_BREAK
  1846. case 203:
  1847. # line 312 "<stdin>"
  1848. { texte_latin1_diaeresis (); }
  1849.     YY_BREAK
  1850. case 204:
  1851. # line 313 "<stdin>"
  1852. { texte_latin1_diaeresis (); }
  1853.     YY_BREAK
  1854. case 205:
  1855. # line 314 "<stdin>"
  1856. { texte_latin1_diaeresis (); }
  1857.     YY_BREAK
  1858. case 206:
  1859. # line 315 "<stdin>"
  1860. { texte_latin1_diaeresis (); }
  1861.     YY_BREAK
  1862. case 207:
  1863. # line 316 "<stdin>"
  1864. { texte_latin1_diaeresis (); }
  1865.     YY_BREAK
  1866. case 208:
  1867. # line 317 "<stdin>"
  1868. { texte_latin1_diaeresis (); }
  1869.     YY_BREAK
  1870. case 209:
  1871. # line 318 "<stdin>"
  1872. { texte_latin1_diaeresis (); }
  1873.     YY_BREAK
  1874. case 210:
  1875. # line 319 "<stdin>"
  1876. { texte_latin1_diaeresis (); }
  1877.     YY_BREAK
  1878. case 211:
  1879. # line 320 "<stdin>"
  1880. { texte_latin1_diaeresis (); }
  1881.     YY_BREAK
  1882. case 212:
  1883. # line 321 "<stdin>"
  1884. { texte_latin1_diaeresis (); }
  1885.     YY_BREAK
  1886. case 213:
  1887. # line 322 "<stdin>"
  1888. { if (yytext[4] == diaeresis_char)
  1889.                 texte_latin1_diaeresis ();
  1890.               else
  1891.                 ECHO;
  1892.             }
  1893.     YY_BREAK
  1894. case 214:
  1895. # line 327 "<stdin>"
  1896. { texte_latin1_diaeresis (); }
  1897.     YY_BREAK
  1898. case 215:
  1899. # line 328 "<stdin>"
  1900. { ECHO; }
  1901.     YY_BREAK
  1902. case 216:
  1903. # line 329 "<stdin>"
  1904. { texte_latin1_diaeresis (); }
  1905.     YY_BREAK
  1906. case 217:
  1907. # line 330 "<stdin>"
  1908. { texte_latin1_diaeresis (); }
  1909.     YY_BREAK
  1910. case 218:
  1911. # line 331 "<stdin>"
  1912. { texte_latin1_diaeresis (); }
  1913.     YY_BREAK
  1914. case 219:
  1915. # line 332 "<stdin>"
  1916. { texte_latin1_diaeresis (); }
  1917.     YY_BREAK
  1918. case 220:
  1919. # line 333 "<stdin>"
  1920. { texte_latin1_diaeresis (); }
  1921.     YY_BREAK
  1922. case 221:
  1923. # line 334 "<stdin>"
  1924. { texte_latin1_diaeresis (); }
  1925.     YY_BREAK
  1926. case 222:
  1927. # line 335 "<stdin>"
  1928. ECHO;
  1929.     YY_BREAK
  1930. case YY_STATE_EOF(INITIAL):
  1931. case YY_STATE_EOF(X_ascii_latex):
  1932. case YY_STATE_EOF(X_ascii_texte):
  1933. case YY_STATE_EOF(X_latex_ascii):
  1934. case YY_STATE_EOF(X_latex_latin1):
  1935. case YY_STATE_EOF(X_texte_ascii):
  1936. case YY_STATE_EOF(X_texte_latin1):
  1937.     yyterminate();
  1938.  
  1939.         case YY_END_OF_BUFFER:
  1940.         {
  1941.         /* amount of text matched not including the EOB char */
  1942.         int yy_amount_of_matched_text = yy_cp - yytext - 1;
  1943.  
  1944.         /* undo the effects of YY_DO_BEFORE_ACTION */
  1945.         *yy_cp = yy_hold_char;
  1946.  
  1947.         /* note that here we test for yy_c_buf_p "<=" to the position
  1948.          * of the first EOB in the buffer, since yy_c_buf_p will
  1949.          * already have been incremented past the NUL character
  1950.          * (since all states make transitions on EOB to the end-
  1951.          * of-buffer state).  Contrast this with the test in yyinput().
  1952.          */
  1953.         if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
  1954.             /* this was really a NUL */
  1955.             {
  1956.             yy_state_type yy_next_state;
  1957.  
  1958.             yy_c_buf_p = yytext + yy_amount_of_matched_text;
  1959.  
  1960.             yy_current_state = yy_get_previous_state();
  1961.  
  1962.             /* okay, we're now positioned to make the
  1963.              * NUL transition.  We couldn't have
  1964.              * yy_get_previous_state() go ahead and do it
  1965.              * for us because it doesn't know how to deal
  1966.              * with the possibility of jamming (and we
  1967.              * don't want to build jamming into it because
  1968.              * then it will run more slowly)
  1969.              */
  1970.  
  1971.             yy_next_state = yy_try_NUL_trans( yy_current_state );
  1972.  
  1973.             yy_bp = yytext + YY_MORE_ADJ;
  1974.  
  1975.             if ( yy_next_state )
  1976.             {
  1977.             /* consume the NUL */
  1978.             yy_cp = ++yy_c_buf_p;
  1979.             yy_current_state = yy_next_state;
  1980.             goto yy_match;
  1981.             }
  1982.  
  1983.             else
  1984.             {
  1985.                 yy_cp = yy_last_accepting_cpos;
  1986.                 yy_current_state = yy_last_accepting_state;
  1987.             goto yy_find_action;
  1988.             }
  1989.             }
  1990.  
  1991.         else switch ( yy_get_next_buffer() )
  1992.             {
  1993.             case EOB_ACT_END_OF_FILE:
  1994.             {
  1995.             yy_did_buffer_switch_on_eof = 0;
  1996.  
  1997.             if ( yywrap() )
  1998.                 {
  1999.                 /* note: because we've taken care in
  2000.                  * yy_get_next_buffer() to have set up yytext,
  2001.                  * we can now set up yy_c_buf_p so that if some
  2002.                  * total hoser (like flex itself) wants
  2003.                  * to call the scanner after we return the
  2004.                  * YY_NULL, it'll still work - another YY_NULL
  2005.                  * will get returned.
  2006.                  */
  2007.                 yy_c_buf_p = yytext + YY_MORE_ADJ;
  2008.  
  2009.                 yy_act = YY_STATE_EOF((yy_start - 1) / 2);
  2010.                 goto do_action;
  2011.                 }
  2012.  
  2013.             else
  2014.                 {
  2015.                 if ( ! yy_did_buffer_switch_on_eof )
  2016.                 YY_NEW_FILE;
  2017.                 }
  2018.             }
  2019.             break;
  2020.  
  2021.             case EOB_ACT_CONTINUE_SCAN:
  2022.             yy_c_buf_p = yytext + yy_amount_of_matched_text;
  2023.  
  2024.             yy_current_state = yy_get_previous_state();
  2025.  
  2026.             yy_cp = yy_c_buf_p;
  2027.             yy_bp = yytext + YY_MORE_ADJ;
  2028.             goto yy_match;
  2029.  
  2030.             case EOB_ACT_LAST_MATCH:
  2031.             yy_c_buf_p =
  2032.                 &yy_current_buffer->yy_ch_buf[yy_n_chars];
  2033.  
  2034.             yy_current_state = yy_get_previous_state();
  2035.  
  2036.             yy_cp = yy_c_buf_p;
  2037.             yy_bp = yytext + YY_MORE_ADJ;
  2038.             goto yy_find_action;
  2039.             }
  2040.         break;
  2041.         }
  2042.  
  2043.         default:
  2044. #ifdef FLEX_DEBUG
  2045.         printf( "action # %d\n", yy_act );
  2046. #endif
  2047.         YY_FATAL_ERROR(
  2048.             "fatal flex scanner internal error--no action found" );
  2049.         }
  2050.     }
  2051.     }
  2052.  
  2053.  
  2054. /* yy_get_next_buffer - try to read in a new buffer
  2055.  *
  2056.  * synopsis
  2057.  *     int yy_get_next_buffer();
  2058.  *     
  2059.  * returns a code representing an action
  2060.  *     EOB_ACT_LAST_MATCH - 
  2061.  *     EOB_ACT_CONTINUE_SCAN - continue scanning from current position
  2062.  *     EOB_ACT_END_OF_FILE - end of file
  2063.  */
  2064.  
  2065. static int yy_get_next_buffer()
  2066.  
  2067.     {
  2068.     register YY_CHAR *dest = yy_current_buffer->yy_ch_buf;
  2069.     register YY_CHAR *source = yytext - 1; /* copy prev. char, too */
  2070.     register int number_to_move, i;
  2071.     int ret_val;
  2072.  
  2073.     if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
  2074.     YY_FATAL_ERROR(
  2075.         "fatal flex scanner internal error--end of buffer missed" );
  2076.  
  2077.     /* try to read more data */
  2078.  
  2079.     /* first move last chars to start of buffer */
  2080.     number_to_move = yy_c_buf_p - yytext;
  2081.  
  2082.     for ( i = 0; i < number_to_move; ++i )
  2083.     *(dest++) = *(source++);
  2084.  
  2085.     if ( yy_current_buffer->yy_eof_status != EOF_NOT_SEEN )
  2086.     /* don't do the read, it's not guaranteed to return an EOF,
  2087.      * just force an EOF
  2088.      */
  2089.     yy_n_chars = 0;
  2090.  
  2091.     else
  2092.     {
  2093.     int num_to_read = yy_current_buffer->yy_buf_size - number_to_move - 1;
  2094.  
  2095.     if ( num_to_read > YY_READ_BUF_SIZE )
  2096.         num_to_read = YY_READ_BUF_SIZE;
  2097.  
  2098.     else if ( num_to_read <= 0 )
  2099.         YY_FATAL_ERROR( "fatal error - scanner input buffer overflow" );
  2100.  
  2101.     /* read in more data */
  2102.     YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
  2103.           yy_n_chars, num_to_read );
  2104.     }
  2105.  
  2106.     if ( yy_n_chars == 0 )
  2107.     {
  2108.     if ( number_to_move - YY_MORE_ADJ == 1 )
  2109.         {
  2110.         ret_val = EOB_ACT_END_OF_FILE;
  2111.         yy_current_buffer->yy_eof_status = EOF_DONE;
  2112.         }
  2113.  
  2114.     else
  2115.         {
  2116.         ret_val = EOB_ACT_LAST_MATCH;
  2117.         yy_current_buffer->yy_eof_status = EOF_PENDING;
  2118.         }
  2119.     }
  2120.  
  2121.     else
  2122.     ret_val = EOB_ACT_CONTINUE_SCAN;
  2123.  
  2124.     yy_n_chars += number_to_move;
  2125.     yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
  2126.     yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
  2127.  
  2128.     /* yytext begins at the second character in yy_ch_buf; the first
  2129.      * character is the one which preceded it before reading in the latest
  2130.      * buffer; it needs to be kept around in case it's a newline, so
  2131.      * yy_get_previous_state() will have with '^' rules active
  2132.      */
  2133.  
  2134.     yytext = &yy_current_buffer->yy_ch_buf[1];
  2135.  
  2136.     return ( ret_val );
  2137.     }
  2138.  
  2139.  
  2140. /* yy_get_previous_state - get the state just before the EOB char was reached
  2141.  *
  2142.  * synopsis
  2143.  *     yy_state_type yy_get_previous_state();
  2144.  */
  2145.  
  2146. static yy_state_type yy_get_previous_state()
  2147.  
  2148.     {
  2149.     register yy_state_type yy_current_state;
  2150.     register YY_CHAR *yy_cp;
  2151.  
  2152.     yy_current_state = yy_start;
  2153.  
  2154.     for ( yy_cp = yytext + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
  2155.     {
  2156.     register YY_CHAR yy_c = (*yy_cp ? yy_ec[*yy_cp] : 1);
  2157.     if ( yy_accept[yy_current_state] )
  2158.         {
  2159.         yy_last_accepting_state = yy_current_state;
  2160.         yy_last_accepting_cpos = yy_cp;
  2161.         }
  2162.     while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
  2163.         {
  2164.         yy_current_state = yy_def[yy_current_state];
  2165.         if ( yy_current_state >= 652 )
  2166.         yy_c = yy_meta[yy_c];
  2167.         }
  2168.     yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
  2169.     }
  2170.  
  2171.     return ( yy_current_state );
  2172.     }
  2173.  
  2174.  
  2175. /* yy_try_NUL_trans - try to make a transition on the NUL character
  2176.  *
  2177.  * synopsis
  2178.  *     next_state = yy_try_NUL_trans( current_state );
  2179.  */
  2180.  
  2181. #ifdef YY_USE_PROTOS
  2182. static yy_state_type yy_try_NUL_trans( register yy_state_type yy_current_state )
  2183. #else
  2184. static yy_state_type yy_try_NUL_trans( yy_current_state )
  2185. register yy_state_type yy_current_state;
  2186. #endif
  2187.  
  2188.     {
  2189.     register int yy_is_jam;
  2190.     register YY_CHAR *yy_cp = yy_c_buf_p;
  2191.  
  2192.     register YY_CHAR yy_c = 1;
  2193.     if ( yy_accept[yy_current_state] )
  2194.     {
  2195.     yy_last_accepting_state = yy_current_state;
  2196.     yy_last_accepting_cpos = yy_cp;
  2197.     }
  2198.     while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
  2199.     {
  2200.     yy_current_state = yy_def[yy_current_state];
  2201.     if ( yy_current_state >= 652 )
  2202.         yy_c = yy_meta[yy_c];
  2203.     }
  2204.     yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
  2205.     yy_is_jam = (yy_current_state == 651);
  2206.  
  2207.     return ( yy_is_jam ? 0 : yy_current_state );
  2208.     }
  2209.  
  2210.  
  2211. #ifdef YY_USE_PROTOS
  2212. static void yyunput( YY_CHAR c, register YY_CHAR *yy_bp )
  2213. #else
  2214. static void yyunput( c, yy_bp )
  2215. YY_CHAR c;
  2216. register YY_CHAR *yy_bp;
  2217. #endif
  2218.  
  2219.     {
  2220.     register YY_CHAR *yy_cp = yy_c_buf_p;
  2221.  
  2222.     /* undo effects of setting up yytext */
  2223.     *yy_cp = yy_hold_char;
  2224.  
  2225.     if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
  2226.     { /* need to shift things up to make room */
  2227.     register int number_to_move = yy_n_chars + 2; /* +2 for EOB chars */
  2228.     register YY_CHAR *dest =
  2229.         &yy_current_buffer->yy_ch_buf[yy_current_buffer->yy_buf_size + 2];
  2230.     register YY_CHAR *source =
  2231.         &yy_current_buffer->yy_ch_buf[number_to_move];
  2232.  
  2233.     while ( source > yy_current_buffer->yy_ch_buf )
  2234.         *--dest = *--source;
  2235.  
  2236.     yy_cp += dest - source;
  2237.     yy_bp += dest - source;
  2238.     yy_n_chars = yy_current_buffer->yy_buf_size;
  2239.  
  2240.     if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
  2241.         YY_FATAL_ERROR( "flex scanner push-back overflow" );
  2242.     }
  2243.  
  2244.     if ( yy_cp > yy_bp && yy_cp[-1] == '\n' )
  2245.     yy_cp[-2] = '\n';
  2246.  
  2247.     *--yy_cp = c;
  2248.  
  2249.     /* note: the formal parameter *must* be called "yy_bp" for this
  2250.      *       macro to now work correctly
  2251.      */
  2252.     YY_DO_BEFORE_ACTION; /* set up yytext again */
  2253.     }
  2254.  
  2255.  
  2256. #ifdef __cplusplus
  2257. static int yyinput()
  2258. #else
  2259. static int input()
  2260. #endif
  2261.  
  2262.     {
  2263.     int c;
  2264.     YY_CHAR *yy_cp = yy_c_buf_p;
  2265.  
  2266.     *yy_cp = yy_hold_char;
  2267.  
  2268.     if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
  2269.     {
  2270.     /* yy_c_buf_p now points to the character we want to return.
  2271.      * If this occurs *before* the EOB characters, then it's a
  2272.      * valid NUL; if not, then we've hit the end of the buffer.
  2273.      */
  2274.     if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
  2275.         /* this was really a NUL */
  2276.         *yy_c_buf_p = '\0';
  2277.  
  2278.     else
  2279.         { /* need more input */
  2280.         yytext = yy_c_buf_p;
  2281.         ++yy_c_buf_p;
  2282.  
  2283.         switch ( yy_get_next_buffer() )
  2284.         {
  2285.         case EOB_ACT_END_OF_FILE:
  2286.             {
  2287.             if ( yywrap() )
  2288.             {
  2289.             yy_c_buf_p = yytext + YY_MORE_ADJ;
  2290.             return ( EOF );
  2291.             }
  2292.  
  2293.             YY_NEW_FILE;
  2294.  
  2295. #ifdef __cplusplus
  2296.             return ( yyinput() );
  2297. #else
  2298.             return ( input() );
  2299. #endif
  2300.             }
  2301.             break;
  2302.  
  2303.         case EOB_ACT_CONTINUE_SCAN:
  2304.             yy_c_buf_p = yytext + YY_MORE_ADJ;
  2305.             break;
  2306.  
  2307.         case EOB_ACT_LAST_MATCH:
  2308. #ifdef __cplusplus
  2309.             YY_FATAL_ERROR( "unexpected last match in yyinput()" );
  2310. #else
  2311.             YY_FATAL_ERROR( "unexpected last match in input()" );
  2312. #endif
  2313.         }
  2314.         }
  2315.     }
  2316.  
  2317.     c = *yy_c_buf_p;
  2318.     yy_hold_char = *++yy_c_buf_p;
  2319.  
  2320.     return ( c );
  2321.     }
  2322.  
  2323.  
  2324. #ifdef YY_USE_PROTOS
  2325. void yyrestart( FILE *input_file )
  2326. #else
  2327. void yyrestart( input_file )
  2328. FILE *input_file;
  2329. #endif
  2330.  
  2331.     {
  2332.     yy_init_buffer( yy_current_buffer, input_file );
  2333.     yy_load_buffer_state();
  2334.     }
  2335.  
  2336.  
  2337. #ifdef YY_USE_PROTOS
  2338. void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
  2339. #else
  2340. void yy_switch_to_buffer( new_buffer )
  2341. YY_BUFFER_STATE new_buffer;
  2342. #endif
  2343.  
  2344.     {
  2345.     if ( yy_current_buffer == new_buffer )
  2346.     return;
  2347.  
  2348.     if ( yy_current_buffer )
  2349.     {
  2350.     /* flush out information for old buffer */
  2351.     *yy_c_buf_p = yy_hold_char;
  2352.     yy_current_buffer->yy_buf_pos = yy_c_buf_p;
  2353.     yy_current_buffer->yy_n_chars = yy_n_chars;
  2354.     }
  2355.  
  2356.     yy_current_buffer = new_buffer;
  2357.     yy_load_buffer_state();
  2358.  
  2359.     /* we don't actually know whether we did this switch during
  2360.      * EOF (yywrap()) processing, but the only time this flag
  2361.      * is looked at is after yywrap() is called, so it's safe
  2362.      * to go ahead and always set it.
  2363.      */
  2364.     yy_did_buffer_switch_on_eof = 1;
  2365.     }
  2366.  
  2367.  
  2368. #ifdef YY_USE_PROTOS
  2369. void yy_load_buffer_state( void )
  2370. #else
  2371. void yy_load_buffer_state()
  2372. #endif
  2373.  
  2374.     {
  2375.     yy_n_chars = yy_current_buffer->yy_n_chars;
  2376.     yytext = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
  2377.     yyin = yy_current_buffer->yy_input_file;
  2378.     yy_hold_char = *yy_c_buf_p;
  2379.     }
  2380.  
  2381.  
  2382. #ifdef YY_USE_PROTOS
  2383. YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
  2384. #else
  2385. YY_BUFFER_STATE yy_create_buffer( file, size )
  2386. FILE *file;
  2387. int size;
  2388. #endif
  2389.  
  2390.     {
  2391.     YY_BUFFER_STATE b;
  2392.  
  2393.     b = (YY_BUFFER_STATE) malloc( sizeof( struct yy_buffer_state ) );
  2394.  
  2395.     if ( ! b )
  2396.     YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
  2397.  
  2398.     b->yy_buf_size = size;
  2399.  
  2400.     /* yy_ch_buf has to be 2 characters longer than the size given because
  2401.      * we need to put in 2 end-of-buffer characters.
  2402.      */
  2403.     b->yy_ch_buf = (YY_CHAR *) malloc( (unsigned) (b->yy_buf_size + 2) );
  2404.  
  2405.     if ( ! b->yy_ch_buf )
  2406.     YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
  2407.  
  2408.     yy_init_buffer( b, file );
  2409.  
  2410.     return ( b );
  2411.     }
  2412.  
  2413.  
  2414. #ifdef YY_USE_PROTOS
  2415. void yy_delete_buffer( YY_BUFFER_STATE b )
  2416. #else
  2417. void yy_delete_buffer( b )
  2418. YY_BUFFER_STATE b;
  2419. #endif
  2420.  
  2421.     {
  2422.     if ( b == yy_current_buffer )
  2423.     yy_current_buffer = (YY_BUFFER_STATE) 0;
  2424.  
  2425.     free( (char *) b->yy_ch_buf );
  2426.     free( (char *) b );
  2427.     }
  2428.  
  2429.  
  2430. #ifdef YY_USE_PROTOS
  2431. void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
  2432. #else
  2433. void yy_init_buffer( b, file )
  2434. YY_BUFFER_STATE b;
  2435. FILE *file;
  2436. #endif
  2437.  
  2438.     {
  2439.     b->yy_input_file = file;
  2440.  
  2441.     /* we put in the '\n' and start reading from [1] so that an
  2442.      * initial match-at-newline will be true.
  2443.      */
  2444.  
  2445.     b->yy_ch_buf[0] = '\n';
  2446.     b->yy_n_chars = 1;
  2447.  
  2448.     /* we always need two end-of-buffer characters.  The first causes
  2449.      * a transition to the end-of-buffer state.  The second causes
  2450.      * a jam in that state.
  2451.      */
  2452.     b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
  2453.     b->yy_ch_buf[2] = YY_END_OF_BUFFER_CHAR;
  2454.  
  2455.     b->yy_buf_pos = &b->yy_ch_buf[1];
  2456.  
  2457.     b->yy_eof_status = EOF_NOT_SEEN;
  2458.     }
  2459. # line 335 "<stdin>"
  2460.  
  2461. void
  2462. latex_latin1 (FILE *input_file, FILE *output_file)
  2463. {
  2464.   yy_init = 1;
  2465.   yyin = input_file;
  2466.   yyout = output_file;
  2467.   BEGIN X_latex_latin1;
  2468.   yylex ();
  2469. }
  2470. void
  2471. latex_ascii (FILE *input_file, FILE *output_file)
  2472. {
  2473.   yy_init = 1;
  2474.   yyin = input_file;
  2475.   yyout = output_file;
  2476.   BEGIN X_latex_ascii;
  2477.   yylex ();
  2478. }
  2479. void
  2480. texte_ascii (FILE *input_file, FILE *output_file)
  2481. {
  2482.   yy_init = 1;
  2483.   yyin = input_file;
  2484.   yyout = output_file;
  2485.   BEGIN X_texte_ascii;
  2486.   yylex ();
  2487. }
  2488. void
  2489. ascii_latex (FILE *input_file, FILE *output_file)
  2490. {
  2491.   yy_init = 1;
  2492.   yyin = input_file;
  2493.   yyout = output_file;
  2494.   BEGIN X_ascii_latex;
  2495.   yylex ();
  2496. }
  2497. void
  2498. ascii_texte (FILE *input_file, FILE *output_file)
  2499. {
  2500.   yy_init = 1;
  2501.   yyin = input_file;
  2502.   yyout = output_file;
  2503.   BEGIN X_ascii_texte;
  2504.   yylex ();
  2505. }
  2506. void
  2507. texte_latin1 (FILE *input_file, FILE *output_file)
  2508. {
  2509.   yy_init = 1;
  2510.   yyin = input_file;
  2511.   yyout = output_file;
  2512.   BEGIN X_texte_latin1;
  2513.   yylex ();
  2514. }
  2515.